JavaScript is the English of programming

A popular comparison between a natural and a machine language

If you’re not familiar with the term JavaScript and have stumbled across this article by mistake, you don’t need to know JavaScript to understand the article, allow me to give a brief summary. JavaScript is a computer programming language which runs on web browsers but, increasingly more common is being run on other platforms too. With that out of the way, why is a programming language similar to a natural language? More specifically, why English?

JavaScript is like English because it shares many traits that have helped shape it into what we know today. It’s is a product of its environment, often met with scorn or scrutiny from particular communities and it has evolved over time as every language does.

Environment

English is a language which is no better or worse than any other. Every language has a purpose and a different way of expression but for some reason, English has become a global language. It’s the language of business and it’s also most likely the language used to construct programming languages. JavaScript is no exception. If English is not better than any other language then how has it become so popular and widespread?

The proliferation of English can be attributed to the environment in which it has been cultivated. Through the use of its navy, the British Empire stretched around the world, colonizing countries and installing English as the language whether the inhabitants welcomed it or not. It’s probably safe to assume, not. English is the hegemony it is today because of its past conquest and though much of the empire has disbanded, the language’s mark is still seen today. As the English language sailed the oceans in search of new lands, JavaScript has circumnavigated the world wide web many times over.

JavaScript shares a similar environment to English. As the ocean and naval superiority helped English spread around the world, the internet and world wide web helped JavaScript do the same. The humble web browser acted as the vessel which brought JavaScript to the masses and solidified it as a utility for the web. Where the web goes so does this language, JavaScript has been intrinsically linked with the web but it’s also taking on new territory. Through its ubiquity on the web, it has become popular and has been spread beyond the web browser. Node.js is a popular platform which allows JavaScript to run outside the constraints of the browser and now powers servers and embedded devices around the world.

Evolution

English has evolved over time to the point where if you were to travel back in time to just a few hundred years, you may not recognize it as English. Words may have different meanings, the structure may vary or the pronunciation may be a hurdle. The further you go back the more pronounced the difference (pun intended). As part of the English language’s evolution, it has also borrowed words from other languages. Some popular words which we use in computing, are borrowed from Sanskrit; avatar and java to name a couple of apt examples.

JavaScript has evolved over time in much the same way. It was initially influenced by popular languages that have come before such as C, Scheme, and Java to name a few. Browsers implemented their own dialects with some phrases making their way back to the core language and others dying off. Over time, features were added that were popular with those who spoke the language, to make JavaScript more expressive. New features and syntax have been borrowed from what is in mode; functional programming may be the latest addition to that repertoire. To look back a few years at a piece of JavaScript, there may be things you wouldn’t see today.

Both English and JavaScript have evolved over time and integrated what they wanted from the languages that surround them. By cherry-picking bits and pieces of languages, they have developed quirks of their own. Gaining features, syntax and quirks, they are ever more enticing to learn but become more difficult to fully know and often nuanced. This jumble of ideas, words and constructs make these languages unique in their own way. It is a point of endearment or contention depending on who is asked.

Division

Language is something that binds us as much as it is something that separates us from one another. English is a language which many people around the world can use to communicate, it may not be their native tongue but it can be a compromise between speakers. It allows the facilitation of information across international barriers. English is a great tool but a consequence is that it can impact native languages, they may become endangered as English takes precedence.

JavaScript can owe its popularity to its availability on every browser, it’s easy to learn when there are no barriers to starting. This has grown a large community of developers who have taken this language to create rich experiences on the web and imagined new purposes beyond the context of the web. JavaScript is a lingua franca that is bridging ecosystems that would have not been thought possible when it was created. It makes its way into native and mobile app development and competes with existing languages within these communities.

The two languages create some contention with existing communities that use other languages. There exists competition between native speakers and the language which is taking foothold. Rivalry also exists within the language itself, differences in dialects can cause debate and squabbling. This is true with the subtle disparity between the dialects of English from countries such as the US, UK and New Zealand as it is with variants of JavaScript like ES2017, TypeScript or JSX. These languages also pose competition with the existing native language. JavaScript has made strides on servers, possibly to the chagrin of .NET and Java developers. It is gaining popularity on mobile to resistance by Swift and Kotlin developers. These tensions exist in both languages to varying degrees.

Each language you learn gives perspective and, insight into the culture that crafted and cultivated it.

Language is an important tool we use to communicate with one another. English and JavaScript are languages which have spread around the world and become the language of choice or necessity for many. Through ubiquity, these languages have evolved with time and been enriched with the culture that surrounds them. They create opportunity as well as tension in communities that have built their own culture and sense of identity. English and JavaScript share these similarities despite being having very different purposes.

I am lucky enough to know both languages I’ve talked about, though they are not without their warts, they have served me well and will continue to do so. If there is one takeaway however, it is to learn a new language. Each language you learn gives perspective and, insight into the culture that crafted and cultivated it. If you only know English, try learning a new language of a country you’d like to visit or even give programming a go and learn JavaScript. If you’re a programmer who knows JavaScript then take a look at something completely different like Clojure or Rust.

Finally, if you don’t know English – congratulations on making it through this article, it must have been a real challenge!

Please show your appreciation if you enjoyed reading this and would like to see more in the future. If you have any questions, comments or points of contention — comment away!