Disclaimer: not a professional developer. Learning Elm/FP and longing to be one. I hope it’s still relevant. For the sake of brevity I left out many details and more backstory that would have made more sense but would have made this post way too verbose. It kinda is already, apologies.
Background :
Self-taught webops/devops with 15y career. No higher education. Always thought programming required CS degree and lots of theory I didn’t have. Hence I chose systems 20y-ish ago. Because I could do fine with logic, documentation, and lots of hacking thanks to open source. No time, No money, No requirements to go through high school → uni. "Hell I just stick with systems".
Attempted to learn programming with many languages and always hit a wall at OOP and quit every time. I can do a couple of languages just fine, in a procedural way with loads of functions. I do understand the OOP concepts, but I can’t code OOP. My brain isn’t wired that way. Always felt stupid for that and kinda made peace with the fact that I would never be a developer (besides personal projects).
How you heard about Elm:
A couple of years ago I was introduced to Haskell and FP in general (of which I never heard of, but I wish I did 20y-ish ago) by Cardano (a story for another time). While delving deeper and watching a lot of videos about FP and Haskell, I stumbled upon From Rails to Elm and Haskell. “Whaaaaaaaat!?!?” - I was hooked.
Moment you were convinced:
In all of the above I learned HTML/CSS and some JavaScript. I’ve always liked to make stuff and my websites needed some love. So I learned the technolgies to make them. I loved it and I was set on the path of becoming a web developer. Once again, I had to "Hell I just stick with systems", after learning about the insane amount of collateral technology attached to Js, and after realizing that nobody would hire a junior developer in his 40s.
What convinced me (a non-professional) of Elm is a mix of things:
- functional, delightful, and thoughtful
- one consistent framework and one consistent language to learn for life
- its assurances and solid choices.
I’m sure that as I go on with my learning of Elm and FP, some thing in my idealized “fp-world dream” will shatter along the way and that I will struggle with theory. So far so good, though. I’m still in love, and very much determined to go past the struggles. I still hope that learning Elm and FP will give me an edge (as opposed to chasing 20y lost time in OOP and Js ecosystem) in finally becoming a developer. Wish me luck!