Richard Feldman is, we can assure you, an Elm enthusiast: he hosts the Elm Philadelphia Meetup, he is the author of “Elm in Action” book, he is a coworker of Elm creator Evan Czaplicki, and, unsurprisingly, he writes Elm full time for his company.
The reason? As Richard said, when he discovered Elm, he felt to return to a time of great innocence, the time when he started programming just for the pleasure to build something to run, a time when he wasn’t concerned about debugging, maintenance, maintainability, all that worries felt be professional software engineers day after day.
I love the freedom to build and run stuff and believe the compiler is on my back.
When we asked Richard what he likes the most on Elm, his reply was quick and sharp: the compiler. He explained to us the Elm compiler is really friendly, it provides clean messages on errors, and it makes you feel really confident when coding.
To have confidence in what will happen when your code run is a big advantage of Elm over other programming languages. For example, during his keynote, Richard told us about the “billion million mistakes”.
In 1960 Sir Tony Hoare introduced the concept of “null” to programming. Today Sir Hoare calls this his “billion-dollar mistake,” as he estimates null has caused a billion dollars in economic damage. Mistakes and inattention to tricky edge cases writing code can lead to unpredicted null values at runtime, then to bugs or service outages.
But, what could be if the programming language itself is so foresight to avoid such mistakes? Enter Elm, the null-free language. Elm compiler is able to catch variables that can possibly have undefined values at runtime, enforcing you to write in advance what your code has to do when this situation will happen. This is what Richard define a billion-dollar foresight and it explains why he defines the Elm compiler his best friend when coding.
People continue building on the mistakes of the past rather than learning from them.
There are, in fact, some really strong and successful companies that have proven how an “unusual” software stack can turn into a big win in terms of reliability, productivity, and reduced cost. Moreover, a working environment where you can learn new expertise and explore different solutions can bring organizational benefits.
So the “billion dollar mistake” poses an interesting question to developers and software engineer: is it safer and cost-savvy continue to leverage on traditional and well-known programming languages or explore the possibilities provided by the new ones?
Richard, of course, truly believes in the second option, and this is maybe the reason he is involved in Elm meetup and community. He said the advice he would give to community leaders is reaching out the people, not wait for people come to you, because the more are involved, the best is for everyone.