If you're into programming software, you surely know your language of choice kind of defines you. A programming language is basically a set of predefined rules to build software, so its influence in how you approach a solution, its paradigm, and the freedom or security it allows are key in order to choose it. And your language of specialization determines (specially in the early stage of a career) the projects you work on, the companies you work for and even your salary range. Sure, a Software Engineer is more than a mere specific language specialist but at some point in his career that's exactly what he is.
According to the original article on the Stanford Daily:
But why is this so important?
- It is ubiquitous: browser, server, your Raspberry Pi connected to your TV, you name it.
- Fast initial learning curve: its tiny core, dynamic type system and concise syntax allow writing initial code a breeze.
- Quick deployment and execution: no need to compile, just run it or reload the browser.
As superficial this may sounds, this is a step into the academic dignification of the most important and more used programming language in the XXI century.
For many of us this has been a battle of reality over theory, and still is. In software engineering, finding the best solution is beyond any programming language. But defining what solution fits best to the problem is tricky when there are many. It practically involves bias at some point, considering costs, team knowledge, development time and many other factors.
In the end there is this unavoidable feeling of triumph for me. The tiny, bastard multi-paradigm son of the early web, the unspeakable non-static typed language that filled so many jokes in the past about fragility, instability and chaotic design is taking its place as the programming language of choice to enter the most important domain of knowledge of the present: Software Development.