In this article, I will cover my migration progress between all three languages and explain why and what brought me to move over.

I hope I will shed some light and convince some of you to try out a new language for the sake of your software and its reliability.

Javascript

Anybody who has written javascript in their life has already faced far too many times one of those following generic errors:

Initially, many of us begin their journey with javascript as they need to add some “simple” features to some website. Some will use libraries like jQuery, Lodash or Underscorejs.

Eventually, as you grow up you will start to develop bigger web applications and those become more complex, so you will turn to a framework like Angular, Vuejs or Reactjs.

Maybe you have a different path and you come from a more backend experience. Nowadays, NodeJS has become a very popular choice for backend applications and allows you to write in… yeah, javascript.

Whichever from where you come, you’ve seen it, and you are probably still doing it, writing javascript code that eventually shows up one of those errors shown above.

Why Javascript is actually an okay language for supportability

The main problem with Javascript is that the language has to support backward compatibility. There is no “version” with javascript like some other languages (ex: Java7 -> Java8).

Because the language has been essentially written for web browsers initially, the language is built to always work as long as browsers support the standards of the language. This basically allows a website written in the 1990s to still work today in your fresh new Chrome version, even if the code that was written is basically 30 years old.

Browsers eventually catch up and support more new functionality of javascript that eases the life of the developers, but it still supports backward compatibility so that this really old website continue to work. This is the source of all evil because, for the sake of supporting older code, the language cannot make any breaking changes that would change how things are done for the greater good.

That being said, if you do write an application for a web browser, odds are this app will be functional forever.

#javascript #typescript #elm #developer

From JavaScript to TypeScript to Elm
1.85 GEEK