|
For an average JS developer Elm is totally alien tech compare to React or Angular
To turn your argument the other way.
The JS landscape, where "trendy" libraries change every few months, is also alien to anyone that doesn't keep with the latest libraries every few months. Is that not worse?
I don't have to explain "JS fatigue", it's a fact.For example, I just got into a new team, and I have to now use what they use.
I've been doing JS for 4+ years, and that stack I'm facing now, is alien and confusing to me.
I have to invest time and learn what the hell those redux-sagas are, or what "magic" create-react-app tools hide, and in general, it's very confusing so far. With Elm, I spent a few weeks 1 year ago to learn the language, and that was it.
All the libraries are very simple to use because of the language.
I doubt that learning "redux-sagas" will help me a year from now. Also, Elm, gives a very coherent package. You don't have to transpile or add a linter, or a type checker, or stitch new libraries every few months because the trend changed.
No webpack or babel or eslint or immutable.js or typescript or flow or any of those. Not to go into the part of the safety and confidence the compiler gives you.
Typescript or flow are not even close to that quality and guarantee level.
Note that again you have to learn their syntax and configure them, so that's again a cost on top of learning JS. And they are as much alien as Elm. FWIW, I start now side-projects in Elm, and I get things done way faster than with JS. And that's also what I see from other people as well, regardless of whether they come from JS or another language. |
The constantly churning and evolving JS ecosystem isn't necessarily a bad thing, although it does demand some attention. On the flip side, there is a lot of pre-written reusable code and more gets added daily.
From an ecosystem point of view, elm doesn't hold a candle to JS. Also, you don't have to learn every single JS library out there. You don't have to use redux-sagas. Use whatever you want.
Yes, I know there are a lot of tools and a lot of options and that can be exhausting. But I don't think that's necessarily a bad thing.