Backend web developer for the last ~15 years, now mostly Python/Django. I can write vanilla JS, but its fragility (hello undefined) and lack of a good standard library makes me cringe every time I have to use it. I tend to stay away from modern JS frameworks because of their complexity. I have a rather strong opinion on the JS ecosystem.
How you heard about Elm:
I’m not sure but I think it was a colleague of mine who’s into FP stuff who told me about it in 2019.
Moment you were convinced:
I think I was immediately convinced (see the first point below), but my conviction grew stronger during my journey with Elm:
- I was hooked when I read about the “no runtime exceptions thing”. Being used to JS surprises, that looked too good to be true.
- Then when I started using it, and was having a really hard time understanding what I was doing, I was just following the compiler hints on every error, and eventually my code compiled and more importantly it worked! Then I told myself learning this language wouldn’t be that bad and that I could start using it on my projects without really understanding it yet. And since this process was so much fun (understanding the compiler messages and trying to fix my code), I continued using it.
- Getting more into it, and discovering the simplicity of the “framework”: you just need to understand a few concepts to get started (TEA, functions, types). Compared to other JS frameworks (even Vue.js which is supposed to be simple I think), that was so refreshing for me.
Also regarding the initial thread title, what helped me a lot to learn Elm was the guide at https://elmprogramming.com/. It goes into more detail than the official tutorial and was a great resource for me, who was just starting with Elm and FP in general.