Elm, The Programming Language for Future Front-End Development


Meet programming language Elm, a functional language that compiles JavaScript language, designed by Evan Czaplicki. Initially designed for his thesis in 2012, Elm has gone big when online web-based language learning platform in the United States, NoRedInk, introduced Elm to devs all around the world. One of its speakers, Richard Feldman spoke about how user-friendly Ruby on Rails is for back-end and he tried to test-out Elm. Their review about Elm is it is a very user-friendly, simple, excellent quality tooling, and easy to use. Feldman’s statement then has made Elm go big until today, even mentioned as the future of front-end development.

As we are going to discuss Elm further, we will display Elm’s benefits and advantages that would lessen your headache and frustration.


Friendly error message

How could error message in coding is friendly? Well, Elm could! The error message is very useful, as well as Ruby. If you do something wrong, it will detect, naming, explain, and give solution for you to fix. Here’s the example of error message if you use Elm:

elm | 41studio

credit: @adhywiranata at Medium

Also, using Elm means there is no runtime error. Can you imagine? No nulls and “undefined is not a function” anymore!


Well-architect codes that keep growing in line with apps’ development

If we need to simplify Elm architecture, it’s very similar with Redux, as Redux has looked at Elm for inspiration. It’s a very simple architecture and has already built-in to the platform. It means you don’t have to setup lots of various libraries, but instead, you can start developing right away after installing Elm CLI.


Nice performance

credit: Elm Blog

According to performance test-out in July 2014 and August 2016, Elm has been gradually improving. Many companies which have switched using Elm are satisfied with its well-done performance due to its compilation to JavaScript.


Functional and efficient programming language

elm | 41studio

Elm is very similar to Ruby when it comes to the syntax. All parameters are separated by space after the function of a declaration, making a clean look for developers. The logic is also simple and effective.

Elm is also a powerful language as it has a special feature to enforces semantic versioning based on the changes to your package. The feature can alert you if the package is making a change and also forbid the minor version to be bumped. To do so, it asks you to publish major version bump first. If you are familiar with using JavaScript, it has a major issue of automatically publishing the latest package and it potentially will break your API. Imagine how frustrating it is! But now you don’t have to worry anymore because Elm has solved the issue!



Source: @scbarrus on Medium, @rgoomar on Medium, Codepolitan


Ruby On Rails Blog and Web Development | 41studio

By Okta on August 08, 2017