(I definitely agree with you about the disrespect JS gets from those who don't grok frontend work. And the fundamental annoyances baked in JS from the start)
I think most everyone agrees JS is an outlier when it comes to the speed of breaking changes and obsolescence, but IMHO that is nearly inextricable from JS being the most widely-adopted language, compatible with the widest variety of end-user devices and applications, reaching by far the most humans across the world. To put it another way, you could easily learn and become proficient in COBOL. There's currently a bigger demand than ever for young blood, and there's presumably great career rewards (if not in salary, in benefits, timeoff, and pension funds), and the language and end-user application is extremely stable.
And of course there are plenty of disadvantages (higher chance of landing somewhere that is not SF or NY, if those cities happen to be your home). Do the benefits of COBOL, especially the ones that line up with Javascript's weakness, hypothetically meet your ideal of a developer job?
The most ideal languages at a certain time is based on what is most in demand, relative to the supply company needs
Right now mobile developer demand > supply, for top tech companies at least relative to JS developers
Job requirements for iOS & Android might say one thing, but you'll still be competing with people who have way more experience than that, unless the company behind the listing refuses to budge on compensation and is up-front about it.
One thing that iOS really has going for it is that (IMO) it suffers from ageism far less than other SWE verticals do. I'm having trouble with putting the reasons for why I think this is the case into succinct words, but I would say that the primary reason is that iOS knowledge & experience gained while working is, in most cases, additive. The only exceptions are when things are deprecated, but from what I've seen, this usually just involves API signature changes. The core framework has stayed the same, and SwiftUI is going to be the first significant change. You're also forced to constantly learn new things every year, because you're forced to update, and forced to accommodate new screen dimensions with designs.
The downside of this is that it can be extremely difficult to break in as a beginner without doing an internship at a company that can afford interns. You are competing with people who have anywhere from 3-12 years of experience. Or you're competing with people who did the aforementioned internships and did not receive an offer.
The half life of all these frameworks and libraries that come into fashion is pretty annoying. The principles don't change much though.
I don't like that it caters to both the object-oriented and fp world and becomes a mishmash of both.
edit
Posting like this breaks the site guidelines. If you wouldn't mind reviewing https://news.ycombinator.com/newsguidelines.html and sticking to the rules when posting here, we'd be grateful.
left side of my name has a number
far right side of my name has a number
left side of my name is the points of my comment
right side of my name is the comments beneath my comment
I never realized that
also thanks for pointing out the rules of the forum, sometimes people forget
and thanks for modding hn
the bug that i find surprising is when i type a text, i need to make two breaklines to show one breakline
Do you mean the number like [+11] that shows up after you've collapsed a subthread? If you click it, do the comments beneath your comment reappear and the number goes away?
Edit: I'm pretty sure that is the confusion, because it's the second time in a few weeks that this has come up. I've changed the "collapsed" indicator to say "[5 more]" instead of "[+5]". Hopefully that will solve the problem. The strange thing is that it took almost 4 years to hear about this.
Wow, great job of getting that shipped real fast, It's really obvious now
Maybe other people already experienced this issue in the past but didn't really know who to report it to, or wasn't big enough of an issue
I love it when you can take years to fix something and someone will still say that anyway :)
(The same thing happens in the HN inbox. "Wow, thanks for the fast reply"...if they only knew.)
even if its just the fronend?
wouldn't it help if your community of hackers decided to contribute? it seems like a good majority of people are willing to work on it
im assuming that since a lot of people are playing with the hn api
JS is indeed hard, learning vuejs for the sake of 'it's simpler than react' right now.
For example, I'd say JS/React is vastly easier than learning Cocoa/UIKit. Writing GUI code that runs on N user devices is harder than writing headless code running on a single server.
Btw, if they're getting downvoted, it's because "oh, Javascript is in the title? time for me to complain about it like people do in every JS-related HN thread!" is a tired HN comment.
On the note of the HN's perceived hatred of JS, I think its because Javascript has tried to do too many things. Despite its quirks I like Javascript in the context of the web browser, but what I dislike it that it exists in applications and on the server side. The Atom editor should not take up 200 MB and take forever to boot. But it does because instead of taking the time (like sublime text) to write a rockstar system code, they instead used electron. The feeling I get sometimes is that JS developers want to program the same way they do in the browser, everywhere.
I think Electron was the webdev community's response to this, and we really haven't gotten one on the app/systems developer side besides QT.
Or to rephrase, using Electron to "emulate" a web browser is cross-platform from the perspective of the electron user, while most other gui-ing solutions in C/C++, are not necessarily cross-platform, and therefore this leads to different set of challenges.
or just bundle a html/css/js with a single go-http-server-executable that use browser as the GUI interface.
Are we reading the same HN? Because I would say being too critical and negative are HN's two biggest flaws.
I find javascript really hard and annoying, even if I have enough experience with JS that lets me build a basic react framework, I still find it hard to use.
On top of that, getting javascript jobs is harder compared to other programming languages. IE: you need 7 years of experience for a company at the same level where they only need 1 year of IOS/Android experience.
You always have to be keep up to date. The popular libraries that you can use changes so fast, and sometimes they don't even work.
Javascript gets a lot of disrespect from beginner engineers. Something about doing frontend work, isn't hard and it isn't software engineering in their perspective
There are so too many ways to do the same thing, unlike something like lets say golang
You always have to learn more than javascript to compete with other javascript developers. IE: dev ops, backend, database, sre, ux design