Javascript as a Pidgin

Created: 2020/12/12
Updated: 2020/12/14

Rob Conery put forward the idea of Javascript as a Pidgin language. As someone who grew up speaking Melensian Pidgin (Tok Pisin) as a kid, and as someone who writes Javascript as needed, I Have Thoughts.

First of all, I don’t think Javascript is still a Pidgin. It’s grown quite a large vocaulary and set of use cases, beyond just “We need to make the DOM do some small things”. React Native, Node.js, Glitch, VS Code/Atom, and more are pretty solid indications that Javascript has at least reached a level of expressive maturity where one could have it be their mother tonuge.

Second, the number of people that can “speak” Javascript on some level rivals that of the two most well known Creole Languages. Some organization has esimtated that around 10 million developers use Javascript at at least a basic level. Hatian Creole, for comparison, has about 11 million speakers. Few languages get anywhere near that large without either being expressive enough for people to speak them natively, or being expanded so they are.

Third, Javascript is a language in which one can do a lot of things. From 3D video games, to Web Servers, to driving AI simulations, and so on. If you want to do it in JS, you can probably find a way, and you’ll probably be able to find a decent API for doing so.

Contrasting, a pidgin usually has a very limited vocabulary, usually focused on what the intersection of 2 or more cultures want to say. They are sometimes called trade languages, because they tend to focus in that area. And during that time when a language is a pidgin, it’s not anyone’s native tongue, it’s the awkward, simplified, crossover between Australian ranchers and their farm hands, which come from 3 different vernacular languages.

Melenesian Pidgin is far from a pidgin these days, though when I was growing up, I definitely felt the lack of being able to speak to emotions or technology in depth when I spoke it. Javascript, as well, has grown in expressive power, both from additions to the language, and a vibrant ecosystem of packages and runtimes that it has grown to include.