Elegant programming style & patterns
Robust, less error-prone code
Fast performance
Good documentation
Powerful developer tooling
Simple & lightweight
Easy learning curve
Growing momentum/popularity
Backed by a great team/company
Full-featured & powerful
Rich package ecosystem
Well-established option
Stable & backwards-compatible
Most disliked aspects of Elm, most agreed on first:
Hard learning curve
Concerns about the team/company
Clumsy programming style
Small package ecosystem
Limited & lacking in features
Diminishing momentum/popularity
Lacking developer tooling
New untested option
Fast-changing & breaks often
Bad documentation
Bloated & complex
Poor performance
Buggy, error-prone code
It is a great thing that the volume of people knowing Elm is increasing, but I’m wondering why the proportion of “not interested” people has increased that much over the last year.
In a way, I can relate to this as I work in a very large corporation and, although I really enjoy Elm and intend to use it more and more, sharing my enthusiasm with colleagues and management is a bit of a hard sell.
I have started experiments by rewriting some pages in elm in order to build a “business case” for it, though, so I hope that it will at least raise awareness on Elm and its advantages but presenting something that is not Microsoft/Facebook/Google branded in a large corporation is never an easy thing.
I would take these numbers with a grain of salt. This survey is declining in popularity. According to the “Counts” tab, 23,666 people took it in 2017, whereas only 20,166 took it in 2018.
I somehow doubt that 1,222 respondents that said they would use Elm again in 2017 has shrunk to 872 in 2018. I think the survey was likely advertised differently (or wasn’t posted in the same communities) which resulted in a different result set.
I also find it amusing that one of the top complaints was “fast changing and breaks often” yet some people watching the Elm community were fear mongering about the language dying due to ~21 months between the release of Elm 0.18 and 0.19. You can’t have it both ways—pick one.
Thanks, that’s an interesting point you’re making.
And the “fast changing and breaks often” complaint is indeed a bit unfounded, considering the stability of the language (even taking the 0.19 changes into consideration).
Another thing to note is that I’ve seen people dissect the survey results (rather informally; this was a discussion on Reddit), but it seems like there are many survey results that should be taken with a grain of salt; the number of submissions claiming 10+ years of experience is technologies that are less than three years old, for instance, seems to be rather large.
In this particular survey I’m pretty sure that the experience tables refer to the the overall participant’s experience rather than experience with the specific technology.
Elm and ClojureScript command significantly higher average salaries than ES6 and TypeScript, for example. I’m sure there aren’t as many job openings for the former, but there are also fewer programmers that know how to use those languages.
If you needed another reason to start learning Elm or doing more FP in general, here it is.
Yes and no. Elm/ClojureScript developers do have a bit more experience according to the State of JS Survey (9.1yrs and 10.1yrs respectively, compared to 8.3yrs and 8.5yrs for ES6/TS).
The Stack Overflow Developer Survey, demonstrated the same trend, however. Programmers using functional languages get paid more, regardless of experience level. Languages like Ocaml, Scala, Erlang, F#, and Clojure all sit at the top of the range for average salaries.