The Pragmatic Studio

Is Learning Elm Worth Your Time? 4 Ways To Know

October 22, 2015

They say time is money, but we all know that you’re giving up more than money when you allocate your time to something. Investing your time also comes with an opportunity cost. Should you learn language A, framework B, or library C next? And what kind of return will you get on that investment? It seems the good developers have a heuristic for narrowing down where best to spend their time.

So, how do you gauge if learning the Elm language is worth your precious time? We think it’s worth it if you’re one of the following kinds of developers:

Curious about FP

First, if you’re simply curious about functional programming or you’ve struggled with FP concepts in another language, then you’ll find Elm relatively straight-forward to learn.

For me, Elm has been the easiest way into functional programming because it combines all things FP with (and this is the most important part) the ability to create something, for example a reactive web page. Elm goes beyond the theoretical. Its syntax is clean and readable, and you can build practical stuff with it quickly.

Front-end Programmers

If you’re a front-end programmer who is weary of JavaScript, then you absolutely owe it to yourself to check out Elm as an alternative. With Elm, I find my code is more reliable, stays well-factored, and is easier to maintain as the application grows. And I’ve yet to get a runtime exception!

If you’re one of the rare front-end programmers who likes JavaScript, then you’ll love hearing that you can use your favorite JavaScript library in Elm apps. You can send messages from Elm to JavaScript and vice versa using ports. In fact, interop with JavaScript is embraced by Elm.

Language Nuts

If you’re a language nut, then you’ll really enjoy Elm. It’s an innovative and well-designed language. Evan Czaplicki, the designer of Elm, drew inspiration from Haskell, OCaml, F#, and other ML-family languages and made it all approachable in Elm.

It’s also easy to play around with Elm. One of the quickest ways to start writing Elm code is to jump in the online editor. There’s also a REPL for experimenting, and the Elm package catalog has a growing collection of community packages.

Become A Better Programmer

Lastly, if you just want to become a better all-around programmer (and who doesn’t?), then knowing a functional programming language will serve you well. For me, Elm made functional programming finally click.

After 20+ years of (mostly OO) programming, learning Elm has made me think differently about solving simple and complex programming challenges. It’s also been a gateway into other FP languages.

Build a complete Elm web app from start to finish!

We'd love to help you make efficient use of your time learning Elm. Our Building Web Apps with Elm course quickly gets you up to speed building feature-rich web apps with Elm. You'll learn how to confidently build your own Elm apps from scratch with a deep understanding of both the how and the why.