We have been using English for so many years. Let’s just stick to it. This is the reality of coding – the language of computers written in the language of humans. Or rather the language of some humans, making up less than 20% of the world’s population, and conveniently leaving out the rest.
The most famous and widely used programming languages are all written in English but developed in non-English speaking countries – Python in the Netherlands, C++ in Denmark, and Ruby in Japan. PASCAL, the programming language used to develop the first ever Macintosh computer, was invented in Switzerland (Y Studios, 2018). The country has four national languages, none of which are English. This begs the question: Why is English the lingua franca of coding?
If we turn to history and post-colonial science, technology was considered to be the gift brought by the Western world to colonies that became essential to their civilisation (Seth, 2009). As the American invention of the Internet came into the picture, all knowledge associated with technology was created and distributed in English (EnglishHelper, 2018).
This is confirmed in Murillo’s (2019) investigation ‘Why are most major programming languages only in English?’. She points out that the leadership of US in technological development and English’s stronghold as the de facto business language were the main reasons behind its emergence as the lingua franca of programming. This means that people who wanted to make their way in the information technology industry needed to learn English. This situation persists even today.
For over 6 billion (UN DESA, 2019) people whose native language is not English, access to computing knowledge, and the associated high paying jobs, depends on their grasp of this language. However, computing logic does not really relate to linguistic abilities in English. According to McCulloch (2019), “The fact that code depends on English blocks people from benefits (with regards to career and knowledge), for reasons that are entirely unnecessary at a technical level.”
Imagine learning to code in a programming language that was not English based. You would not only have to learn the programming language but also the language in which it was written, and master fluency in both. For some of us who are English speakers, this hurdle does not exist.
In his piece ‘Technology helps us learn new languages while forcing us to speak English’, Bariselli (2019), defines it well: “The information technology industry and the internet are a virtual English language empire.” The language is dominant and a basic expectation of members of the industry.
The issue becomes a little clearer when we see it through the eyes of Professor Rafael J. Barros, a Senior Lecturer of Information Systems at Singapore Management University. Hailing from Colombia, he is passionate about computing and driven to make programming fun for his students. I have been lucky enough to be one of these students.
A native Spanish speaker, Prof Barros’s early exposure to English came partially from basic lessons at high school and from movies on Cinemax. Back in the ‘70s, he chanced upon a very old green-screened computer with a lady in front of it. She was in complete distress, not able to figure out how to make it work. Being at the mere age of 12, Prof Barros wondered, “It’s just a machine. Why is she so stressed? Shouldn’t we be commanding the machine to help us rather than letting it command us?”
Thus began his love story with computing. His first date was with LOGO – an educational programming language. You type a command, for e.g., FORWARD 50, and a turtle on screen moves forward 50 units, leaving a line behind. It teaches students coding and geometry simultaneously, while demanding little English knowledge. This bode well for a Spanish speaker such as Prof Barros.
Things changed quickly when he decided to pursue computer engineering at university: “When I started learning programming, everything was in English. It was mandatory. If you don’t learn English, you can’t do programming. To talk to programmers, you need to learn English. To talk to computers, you need to learn programming. It was like learning two languages at once.”
Such a difficulty gives rise to the following dilemma: Should a non-English speaker learning coding explain the logic to themselves in English or in their native language? Prof Barros said he believes that when you have two languages in your brain, you can switch between them, and you even have different personalities in every language. His English self does the programming while his Spanish self communicates with friends and family.
He associated English with programming because all the technical knowledge available was in English. “There were no proper translations to my language. If I read something translated to Spanish, the translation did not make sense.” He understands that the entire planet was trying to communicate, and English seems to be the middle ground, especially for the field of technology.
Undeniably, there are pros to English being the lingua franca of technology. Firstly, there is consistency that all resources are available in English. The codebases for most major programming languages, libraries, and API (‘Application Programming Interface’ – messengers that relay information back and forth between different applications and servers) are written with variable names, comments, and documentation in English (Sonnad, 2017). Furthermore, you can talk to other programmers in English.
Secondly, English commands reduce abstraction. For example, using ‘IF ELSE’ conditional statements in programming to determine what a program will do under certain conditions translate to the same conditional sentences (‘if this happens…’, ‘else this could happen…’) that we use in our daily speak. The catch is that this abstraction is only reduced for less than a quarter of the population. It is still pretty cryptic for the majority of the world.
As a programmer myself, I would compare programming to mathematics – the logic was important, not the language. I was taught maths in English. My parents were taught in Hindi. Yet, we add and subtract the same way. Why can’t we do the same for coding?
Johns (2019), a data scientist and linguist, puts it best in his article ‘Should We Code in English: Using language to reduce barriers to entry into tech’. He says: “What’s important isn’t the first language you learn, but learning how to learn, acquiring universal ideas, and learning to apply them to all kinds of different contexts. The language is almost immaterial; coding can even be taught using blocks and real-world objects. Anyone can learn the hard things (mechanics of English) eventually, but it’s crucial to level the playing field for those starting out.”
This is important because a programming language is not just a technical implementation—it’s also a human community (McCulloch, 2019). A community of opportunities where people share knowledge, solve problems, and create exciting new inventions that move society forward. Levelling the playing field here comes from making coding accessible for everyone regardless of your language.
The internet has made a conscious effort to become more accessible. You can use Facebook, Instagram, Siri, and more in your native language. But they were all coded and created in English – a diverse market for consumers, yet a restrictive community for creators.
Anyone could be curious about how technology works and how we can program it to create new things. Accessing this knowledge requires English. And the knowledge circulates within this English-speaking community, rather than expanding its boundaries to be more inclusive.
This was not only true of individuals but also countries as a whole. Prof Barros recalls that IT was not a big industry in Colombia. They were more IT consumers, and the US was the producer. His professor once told him that Colombia could not have software development companies. This did not sit well with Prof Barros. He, along with his team, started up a software development company and they exported solutions to the US. He proved his professor wrong: “We were in the news and it was a major thing in my country.”
When asked about whether English could have been a factor leading to the lack of technological development in Colombia, Prof Barros believed that it definitely “caused a delay for Colombia to become an IT producer. If you want to be global, you need to publish in English.” This must have been the story of most non-English speaking countries across the world.
If we want to reduce this delay and level the playing field for IT enthusiasts across the world, coding needs to become more accessible. This does not mean that we need a programming language translated to all languages spoken in the world. Prof Barros also agrees: “An IF conditional statement written in Spanish as Si esto para… – it’s understandable for Spanish-speakers but not scalable” to the entire world.
Scalability became an apparent issue when LSE (Langage Symbolique d’Enseignement – Symbolic Language for Teaching) was developed in France. It was a programming language completely based on French keywords. Due to the lack of French knowledge across the world, the language did not prosper (Y Studios, 2018). It even became jokingly referred to as Langage Sans Espoir — Language Without Hope (Mandl, 2016).
We are aware that programming based on local languages will not succeed. What if we explore something neutral instead? Computers do not understand English themselves. They work on the binary 0s and 1s to perform every function. Therefore, perhaps we could have a language of symbols, icons, graphs, and blocks.
Such a programming language could be taught to you in your native language. People all over the world could learn it without having to learn English. It might make it easier to understand commands, documentation, and concepts.
This phenomenon has been evident with Scratch, a programming language specially designed for children. Scratch performed a study revealing that children who learn to code in a programming language in their native language learn faster than those who are stuck learning in another language (McCulloch, 2019). Not only does this improve the pace of learning but also encourages more children to learn, invoking interest from a young age.
However, such graphical or visual languages are suitable for low-code computing, which allows the coder to abstract and automate every step of the application lifecycle to streamline delivery of a variety of solutions (Mendix, 2021). When it comes to higher-level coding, a symbol or icon-based programming language could become more cryptic and complicated, and therefore unintuitive for the human brain. We are much better at understanding familiar words than cryptic symbols. Prof Barros believes that it might also be hard to maintain for the future. You may be able to understand the symbolic code written now, but years later, you may not be able to decode it easily.
There are definitely pros and cons to this suggestion. However, the inequitable access to technical knowledge due to linguistic capability in English that affects over 80% of the world’s population, indicates that something needs to be done.
If we introduce a neutral programming language, people all over the world can learn it without having to go the extra mile to acquire English. Having the option of learning and teaching this in your native language would not deter people from entering the IT industry. The community of creators may grow and become more diverse and inclusive. Opportunities will open up for the majority of the world to become the next innovators.
We have been using English for so many years, let’s not just stick to it. Perhaps with a new technical Esperanto, we will find more innovators in valleys besides the Silicon.
References
- Bariselli, W. (2019). It’s time to get rid of technology’s baked-in bias toward English. Quartz. https://qz.com/1582314/its-time-to-get-rid-of-technologys-baked-in-bias-toward-english/
- Dinnerstein, M. (2019). English Translation – Is It Necessary for Learning How to Code? Motaword. https://www.motaword.com/blog/english-translation-required-for-learning-to-code
- Do people in non-English-speaking countries code in English? (2010). Software Engineering Stack Exchange. https://softwareengineering.stackexchange.com/questions/1483/do-people-in-non-english-speaking-countries-code-in-english
- English Language Is Changing with Technology! (2018). EnglishHelper Blog. https://www.englishhelper.com/resources/blog/english-language-changing-technology/
- Jacquet, O. (2021). What is an API? AE. https://get.theappreciationengine.com/2019/02/06/what-is-an-api/#:%7E:text=API%20stands%20for%20Application%20Programming,you%20are%20using%20an%20API.
- Johns, R. (2019). Should We Code in English. Towards Data Science. https://towardsdatascience.com/should-we-code-in-english-d59bd7ed87c9
- Mandl, J. (2016). Why are all programming languages in English? Medium. https://medium.com/@jennymandl/why-are-all-programming-languages-in-english-12b1312bada4
- McCulloch, G. (2019). Coding Is for Everyone—as Long as You Speak English. Wired. https://www.wired.com/story/coding-is-for-everyoneas-long-as-you-speak-english/
- Mendix. (2021). What is Low-Code? https://www.mendix.com/low-code-guide/
- Murillo, C. (2019). Why are most major programming languages only in English? Medium. https://medium.com/@cristina_9416/why-are-most-major-programming-languages-only-in-english-7ae2f6d256b1
- Seth, S. (2009). Putting knowledge in its place: science, colonialism, and the postcolonial. Taylor & Francis. https://www.tandfonline.com/doi/abs/10.1080/13688790903350633?journalCode=cpcs20
- Sonnad, N. (2017). Apple CEO Tim Cook on learning to code: He doesn’t seem to understand programmers must learn English. Quartz. https://qz.com/1101096/apple-ceo-tim-cook-on-learning-to-code-he-doesnt-seem-to-understand-programmers-must-learn-english/
- Transum Software. (n.d.). Online Logo. Transum. https://www.transum.org/software/Logo/
- UN DESA. (2019). World Population Prospects 2019. https://population.un.org/wpp/Publications/Files/WPP2019_Highlights.pdf
- Y Studios. (2018). The Language of Codes : Why English is the Lingua Franca of Programming. https://ystudios.com/insights-passion/codelanguage