System.out.println (“Hello World!”);
print (“Hello World!”)
cout << “Hello World!” << endl;
If you’re a veteran programmer who’s built apps, designed websites, and (probably) made upwards of $100,000 annually at your day job, the above code will seem like a first grade problem — which it actually is, in Estonia. And even if you’ve only been coding for a week, still learning the ins and outs of “ifs” and “elses,” chances are good that you’ll know what these statements do.
In fact, even if you have never written a line of code in your life, you can make a reasonable guess at what’s going on in the code above. After all, all of the syntax is drawn from the English language. And going off of the words “print” or “cout,” you’d probably say that the code somehow outputs “Hello world.” Indeed, even experienced programmers interpret unfamiliar code in much the same manner: using a strong base of preexisting knowledge and documentation to make reasonable guesses, like how archeologists decipher the purpose of ancient clayware or ornaments.
This is all well and good.
If, of course, you’re a native or fluent speaker of English.
Historically, the vast majority of keywords, libraries, and other building blocks of computing have been based on English. Of the 8500+ recorded programming languages on the HOPL online database of languages, roughly 3000 were developed in the Anglosphere, with the United States making up the lion’s share at roughly 2400.
Furthermore, this linguistic dominance extends beyond the boundaries of the former British Empire. For instance, despite writing all of his documentation in Japanese, Yukihiro “Matz” Matsumoto used only English keywords to develop the world-class language Ruby. The creator of Pascal, Niklaus Wirth of Switzerland, wrote in English, despite having a range of other natural languages from which to choose. And Linus Torvalds, creator of the OS Linux that bears his name as well as the version control system Git, hails from the Swedish-speaking part of Finland!
Granted, there exists a sizeable number of non-English-based programming languages — ARLOGO, an Arabic localization of UC Berkeley’s very own Berkeley Logo; Dzintars, a Latvian translation of Ruby; and Robomind, a simple educational scripting language with support for 22 different tongues, among others. But walk into any office, basement, or room where software has a presence and you’ll see that English-based software dominates anywhere. In terms of sheer volume and availability of materials, English is the de facto lingua franca of the computing world, to the point where a community of programmers and hackers who share a native language would still be forced to learn English for its unparalleled range of technical vocabulary.
With all this in mind, how do non-English speakers learn how to code? To use a term that most programming students would know: abstraction. While native speakers have the advantage of mapping new keywords to preexisting concepts (e.g. “while,” “for,” “list,” etc.), non-English speakers approach coding as a vast list of abstract commands. Through the same techniques (i.e. Googling, Stack Overflow, etc.) as their Anglophone counterparts, non-English speakers mentally map syntax to their actual function. For instance, though a Lusophone may not learn until later on that “for” translates to “para,” he or she will learn—and memorize—its function: iterating through and performing some action on a list.
Because so much of the internet and technical documentation is in English, most developers end up having to learn the language at some point or another. This is the status quo for the present state of computing. Just as reading and writing are needed to function in a local society, English is increasingly required to be literate in the technical world. Yet, with new advances in natural language processing (an industry estimated to be worth $13.4 billion by 2020), many non-English speaking software customers and so much potential and reason to break the status quo, the question remains: Can English be circumvented as a prerequisite for a technical hobby or career?
And to that, I say the following.
Sí. Да. 是。