Elm in a nutshell

When I speak to my wife or other friends and family who don’t know much if anything about programming I usually talk about how Elm is a programming language for building web sites or web apps. I don’t explain how it works usually as that’s not really important for them. I explain how it provides a way for being more expressive about the information you’re working with. An example I’ve used before is that most web site programming allows "horse" + 5, but Elm won’t. There’s probably a better way to get across the idea of types, but this is where I’m at in my explanation right now. I also talk about how Elm is relatively simple compared to javascript. How it’s a lot easier to talk about. How it’s friendlier with its error messages, I really like to highlight the friendliness.

From a business perspective I talk about how I find it very quick to work in Elm, quick but also secure. How its expressiveness (its type system makes this easier). I also bring up that it’s easier to refactor large amounts of code which is important for business, being able to change quickly.

As far as community I’d highlight the Slack and the conferences. I’ve referred to the Elm Slack in a few other of my Slack communities because I think it excels at being welcoming. I don’t go too much into specifics about the conferences with people who aren’t programming.

Also, when it comes to business I’ve started to try and use Elm’s stability more as a good thing. I know there was a big todo when Elm went from 0.18 to 0.19 but compared to working in other front end frameworks it’s been quite stable. As I explained to some coworkers the other day, the Elm I was writing 2 years ago is identical to the Elm I write today and will most likely be the same Elm I’m writing 2 years from now. The Ember I write today isn’t the same Ember I was writing 6 months ago, or 6 months before that, etc. The same is also true for React https://twitter.com/kadikraman/status/1308390711809789959?s=19, though slightly closer to Elm.

4 Likes