Why are all programming languages in English?
Monday, 6 February 2023
Have you ever seen any computer code and wondered why all programming languages are in English? Explore the history of the why, as well as some exciting exceptions.
Quick disclaimer: I am somewhat experienced in coding but in no way an expert. This article is factual to my knowledge, but here’s a pre-emptive sorry to the computer science people who will eventually find inaccuracies within: Sorry.
Computers. We all use them every day but rarely do many consider how the websites we visit and apps we use were made. Obviously, someone made them, but how? Well, it isn’t as simple as saying “please computer make me an app”, computers aren’t that smart (yet). You’ve got to get down on their level and speak to them on their own terms. Computers pretty much only understand binary 1s and 0s and that just seems too complicated. That’s where programming languages come in.
Programming languages allow people to essentially tell the computer what to do; whether that be to perform complex calculations or where to put a picture on a website. Essentially, they translate the way we think to how computers think, allowing them to understand a set of specific instructions a human can write down. Without these languages, programmers would pretty much have to input every instruction as an incomprehensible binary string of 1s and 0s. So, in short, they are very cool.
I have to say at this point that coding is an incredibly versatile skill to have, and one that is very easily self-taught, so I would highly encourage everyone to have a go.
The answer lies in who wrote/invented the languages. Java was written by the English-speaking Canadian James Gosling, C was designed by the American Dennis Ritchie, and FORTRAN was designed by John Backus who again, was American. This is just a tiny fraction of the early computer programming languages, but you get the picture. A lot of other programming languages such as C++, Python, and Ruby were designed by people who didn’t have English as a first language (two Danes and a Japanese person respectively) but were written in English to build on and work with previous English programming languages. The key reason is that for people to work collaboratively on coding projects across the globe there had to be standardized languages. It just so happened that the core languages most modern software are built on happened to be written in English.
That’s not the end of the story though, there are always exceptions. There has been an effort has been to create coding languages in many different, or even multiple, spoken languages around the world. Take ZhPy as an example. ZhPy is a translation of everything that the programming language Python can do into Chinese. It isn’t the only language used in China, they also do a lot of English coding, but is an equivalent. Examples of direct translating English programming languages into another language are plentiful. There’s Rouille, a French version of Rust, BAIK, an Indonesian version of C, and Teuton, a German Python. There are many more localised versions of established languages, as well as some less used non-English designed languages.
The really impressive programming languages are those that are built with the intent to be used by those who speak different languages. Citrine is one such language. The developers’ goal is to “allow people to code in their mother tongue”. They aim to lower the barrier to coding, and to “democratise software”. A very admirable, and to all extents very successful project. Citrine works with over 70 languages, from Afrikaans to Zulu.
So that’s that then. Most of the common programming languages are designed in English because they are built on fundamental languages that were written by English-speaking computer scientists, but there are efforts to translate and create more foreign-language programming languages.
Nice and neat...
But wait, are the ‘English’ programming languages actually English?
We established before that computers can’t understand human language and only speak in binary, so if that’s true how are we talking to them in an English language and getting them to do what we want? Well, to be honest, none of these programming languages are actually equivalent to speaking a human language. To compare to two would be like saying British sign language is in English. It’s just not true.
Language can be defined as consisting of a string of words in a structured, conventional way used to communicate with another user of that language. Have you ever seen a computer program? They use the right words yes, but not in a grammatically correct structured way that any sensical person would say is true English. Look at this Python code:
You can pick out English words, sure, but that is in no way written in the English language as we know it. And Python is regarded as the simplest and easiest to read programming language! The problem is that every language is just a cheat code that gets translated down to the simple binary that computers understand. The closer to true English prose a programming language gets the slower the computer is to understand it as it has to strip it all back to binary every time.
So, where does that leave this article’s title? All programming languages are written in English, except that actually none of them are? We use the spoken language’s words as a way to allow programmers to translate what they want to do into executable commands for a computer. No actual spoken language can be input directly into a computer.
But to get away from the rabbit hole of computer science theory, the majority of programming languages you interact with use ‘English’, and this could present barriers to many aspiring programmers, so it is a truly great thing that there are those out there designing and developing programming languages open to all to allow for a shared, creative, and collaborative future.
Lovely tasty dish. Try it you won’t be disappointed.
Very tasty and cheap. I often have this for tea!
Being a bilingual family (French mother and British father,) living in France I thought your article was extremely interesting . Have you research on bilingualism ? It seems that when the mother is British and the father French and they both live in France their children seem to be more bilingual than when the mother is French and the father is British . This is what we called mother tongue , isn't it ?
Such an interesting article!