- After React, this was the 2nd web framework I had ever interacted with at the time, in 2021.
- At university I had mostly used imperative languages like Java, C, C++, PHP.
- Thinking in a functional style was not easy at first, but shortly became natural and intuitive to me.
- It took me 7 days to learn the Elm basics and build this small test app.
- After this, I jumped straight into a real-world production project, where I successfully deployed over 100 pull requests, and many thousand lines of code.
Elm is a purely functional programming language and a frontend web framework. If you are not used to functional programming, it will be challenging at first. But once you learn and use it for a while, it becomes a pleasure to write code.
- Most of the bugs reveal themselves at
compile time
. - No hidden
runtime exceptions
will be breaking your production code. - Functions have no
side effects
. - Application
components
are decopled and don't break eachother. - If you want to make a change, you just do it without the fear of breaking something else, as the
compiler
will guide you through all the code that needs to be updated to accomodate your change without breaking anything else. Error messages
are informative and you immediately know what to do.- No more
undefined
runtime errors. Everything is always defined. Application flow
is easy to follow in code.- Elm developers are friendly, helpful, and always excited to talk about Elm.
The elm tree is also a wonderful tree.
Run elm make src/Main.elm
then open index.html
file locally in your browser.