← Back to context

Comment by rimliu

9 years ago

I am starting to get a vibe that there is a new breed of programmers who think that knowing just one language is good enough and learning anything else is "stifling innovation".

I don't even want to start on "PWAs work more seamlessly than native". I just cannot take person making such claims seriously.

This kind of scares me to. The vibe that I have is that (web)developers want to make JS into a silver bullet to solve every problem (backend nodeJS, apps react native cordova etc). But I also wonder why they don't want to learn a new language. Some languages really make you look at a problem from a different perspective and to be honest also work better then JS.

  • The vibe you have is wrong.

    It's not about learning a new language. Most web developers are comfortable in many languages. Plase stop attacking a straw-man. Not many web developers say stuff like "omg these new things are web scale" or "oh javascript is everything I need, I hate everything else". Yeah the author didn't want to learn a new language. Which is not an insane decision at the very beginning of a project.

    The biggest deal, though, is code reuse. If I'm not given enough budget, I'm not developing a native app for your precious walled-garden, sorry. I can also rightfully complain that what you have is a walled-garden, and also that the owner of the garden inhibiting a cross-platform alternative.

    This has nothing to do with ignorance. Give me a cross-platform API, I'm happy.

    At the end, as long as there is docs & support, most really don't care if it's Haskell or PHP.

    • But can you reuse UX? UX on Android and iOS are completely different, which implies different UI, which in the end of the day implies different codebase. I do believe that it's possible to implement an app indistinguishable from native with any technology given enough time to implement all UX guidelines (voiceover support, animation dynamics like scroll list velocity constants, disability stuff, etc) but than we spend too much effort reinventing Cocoa Touch, so ROI of this endeavor is highly speculative. I hope in the future iOS and Android will be closer UX wise, which should simplify code reuse and make everyone happy.

      2 replies →

    •   > Most web developers are comfortable in many languages.
      

      Citation needed. Especially the "most" part. I've been web developer for 10 years when iPhone came out. I liked what I saw, so when SDK came out I've learned Objective-C. Then I learned Swift. And because I know both sides all this feature parity talk really makes me sad about ignorant people not even willing to learn.

      "Walled-garden" has long ago became thought-stopping cliche. But if it is walled garden, then I am thankful that Apple does not allow to litter it with some JS scraps. All this cross-platform talk is just being cheap, being lazy or both. It save money, but it produces the lowest common denominator UX wise. And I would not be surprised that maintaining cross-platform monstrosity eats away any cost-savings pretty quickly.

      5 replies →

    • I understand code reuse can be a hassle, but not as big as some make it out to be. One way to reduce a bunch of work is to make use of swagger for your API. Which enables you to generate a client for your languages of choice.

There's more than a whiff of that in the article, for sure. Author at one point is put off Native by having to learn a "more complicated" language, i.e. Swift. It's hard to defend the assertion that Swift is more complicated than JS.

  • Full disclaimer, Swift is my favourite language by a long shot and I'd love to use it everywhere, but it really is very complicated in some places.

    Consider, for example, the interaction between generics in structs and classes, and protocols with associated types, and why you have to make stupid type-erasing wrappers like 'AnyObject' and so forth.

    JS barely even has types at all, let alone generics. There's a lot less to go wrong there :-)

    • A good point, won't argue with you. But, at the risk of moving the conversational goalposts, I was thinking about the whole developer experience as much as just the language itself. With Swift, you can live entirely within Apple's frameworks and libraries and be immensely productive. With JS you're going through an entire exercise of flavor and framework selection before you can start writing any code; and those decisions have a massive impact on your app's fundamental design. That's as much what I meant by complexity.

    • I'm with you on Swift as well, beautiful language. But regarding JS, nobody these days write vanilla JS, most of devs are either using ES6 or TypeScript(which supports types and generics).

      1 reply →

Same. I always think these people come from a planet where JS is the only language and SPAs are actually good and fun to use.

>I am starting to get a vibe that there is a new breed of programmers who think that knowing just one language is good enough

+1

We're going to end up at an "Idiocracy" of programming.