zlacker

[parent] [thread] 19 comments
1. rimliu+(OP)[view] [source] 2017-07-27 11:44:59
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.

replies(4): >>sotoju+k1 >>Sjenk+E1 >>scrump+G2 >>flavio+HH
2. sotoju+k1[view] [source] 2017-07-27 12:01:01
>>rimliu+(OP)
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.
3. Sjenk+E1[view] [source] 2017-07-27 12:03:00
>>rimliu+(OP)
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.
replies(1): >>egeozc+Q2
4. scrump+G2[view] [source] 2017-07-27 12:12:56
>>rimliu+(OP)
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.
replies(1): >>borlan+4d
◧◩
5. egeozc+Q2[view] [source] [discussion] 2017-07-27 12:13:47
>>Sjenk+E1
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.

replies(3): >>dmytro+i4 >>rimliu+26 >>Sjenk+Wc
◧◩◪
6. dmytro+i4[view] [source] [discussion] 2017-07-27 12:27:46
>>egeozc+Q2
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.
replies(2): >>egeozc+V5 >>fenwic+JN
◧◩◪◨
7. egeozc+V5[view] [source] [discussion] 2017-07-27 12:41:13
>>dmytro+i4
Well the UI can be changed per platform, and as I said, it's a matter of budget. I implemented a solution like that with xamarin but it's not like web. It's way more complicated and the real problem is many things are not supported and so on... React Native? No desktop support. Qt? Oh no, it doesn't feel native... Give me a break! I'm really sick of everyone being a perfectionist and making no compromises. There are too many users, too many platforms and not many developers (at least, quality ones). Facebook can maintain 100 platforms, that doesn't solve my problem of having something "usable" (not perfect) on X platforms.

- Yeah we don't support offline mode on iOS, sorry.

- How much would it cost to implement that?

- Hmm, a rewrite plus more devices to test and licenses and... hmm. Just 50K for a start.

- What, are you kidding? I just want to enter this order when offline?!

◧◩◪
8. rimliu+26[view] [source] [discussion] 2017-07-27 12:42:25
>>egeozc+Q2

  > 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.

replies(1): >>egeozc+X6
◧◩◪◨
9. egeozc+X6[view] [source] [discussion] 2017-07-27 12:51:31
>>rimliu+26
You know that the need for citation goes both ways and anecdotal evidence isn't a real reference, right? Web developers know at least JS, HTML & CSS. Too many know Ruby, Python and/or PHP. Significant amount of them know C#/Java/Go or something similar. Then there is Typescript, all those compile-to-js languages and so on. I've never ever seen a web developer who could only program in JS. That would be very ridiculous. I personally can't count how many languages I worked and had to work with. My list includes ColdFusion. I'm very comfortable with at least 5 languages and 6 platforms.

> I am thankful that Apple does not allow to litter it with some JS scraps.

Oh, so much for being objective. References and all.

> All this cross-platform talk is just being cheap, being lazy or both.

Are you even serious? You really blame engineers/developers coming up with trade-offs for being cheap and/or lazy?

> And I would not be surprised that maintaining cross-platform monstrosity eats away any cost-savings pretty quickly.

No it doesn't. I'm a developer since much more than 10 years. I guess that's enough of a reference :)

replies(1): >>Square+f9
◧◩◪◨⬒
10. Square+f9[view] [source] [discussion] 2017-07-27 13:15:13
>>egeozc+X6
I'd also add SQL to your language list, and often SASS, gulp/grunt configuration, JSON, ASP.NET, and so on.

And come on, JS is a C-style language. If you know one you know them all.

It's also not a difficult jump to OOP languages; especially now that Java 8 supported lambdas and C# supports async/await. It's hard to learn concepts, not syntax.

replies(2): >>egeozc+ja >>s73ver+tF1
◧◩◪◨⬒⬓
11. egeozc+ja[view] [source] [discussion] 2017-07-27 13:23:40
>>Square+f9
Don't you agree, though, thinking that web developers don't write iOS apps because they don't want to learn Swift, is a bit ridiculous at this point? Yet another language isn't even significant for a typical web developer. For me, tooling (XCode) took more time to learn than being able to write acceptable Swift...
replies(1): >>Square+Gc
◧◩◪◨⬒⬓⬔
12. Square+Gc[view] [source] [discussion] 2017-07-27 13:41:14
>>egeozc+ja
Yes, I agree. I was agreeing with you before as well. Setting up a Mac, learning a new IDE, and getting your tooling/builds set up is a far bigger pain point than actually learning the new language.

At least that's the case if it's logically similar. C, Java, JS, etc are mostly transferable. I might not say the same about something like Haskell.

◧◩◪
13. Sjenk+Wc[view] [source] [discussion] 2017-07-27 13:42:37
>>egeozc+Q2
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.
◧◩
14. borlan+4d[view] [source] [discussion] 2017-07-27 13:43:28
>>scrump+G2
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 :-)

replies(2): >>phatby+Ck >>scrump+GD2
◧◩◪
15. phatby+Ck[view] [source] [discussion] 2017-07-27 14:30:07
>>borlan+4d
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).
replies(1): >>fenwic+vM
16. flavio+HH[view] [source] 2017-07-27 16:48:38
>>rimliu+(OP)
>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.

◧◩◪◨
17. fenwic+vM[view] [source] [discussion] 2017-07-27 17:14:21
>>phatby+Ck
I'm being a bit pedantic, but ES6 is vanilla JS.
◧◩◪◨
18. fenwic+JN[view] [source] [discussion] 2017-07-27 17:22:02
>>dmytro+i4
No single top 100 app (except those made by Google or Apple) uses the default system UI components. Google does not follow its own UX guidelines.

Everybody by now knows what a hamburger button, tabs, and toggle switches do.

◧◩◪◨⬒⬓
19. s73ver+tF1[view] [source] [discussion] 2017-07-27 23:39:47
>>Square+f9
If that's the case, then we shouldn't hear any complaining about having to learn Java, ObjC or Swift.
◧◩◪
20. scrump+GD2[view] [source] [discussion] 2017-07-28 14:31:10
>>borlan+4d
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.
[go to top]