As of 2024, almost all popular programming languages are written in English. This is for a few big reasons.
- Early computers/programming languages were primarily developed in English-speaking countries.
- Nearly a billion people speak English as a 1st or 2nd language, making it the 2nd-most understood language in the world. (Creators of programming languages want to appeal to the largest possible audience.)
- Large Chinese dialects (like Mandarin, the most spoken language worldwide) were difficult to romanize for a QWERTY Keyboard. This made it difficult to create a programming language around.
There are several languages that either aren’t written in English or have an internationalization library (library can convert English keywords to some other language). Check out this Wikipedia article for a list of programming languages written in something other than English. And here are a few of the popular examples.
- ALGOL 68
- Citrine
- Scheme
However, the most common languages (JavaScript, C#, Java, Python, etc.) don’t offer an internationalization library as of this writing. This means most developers will be forced to learn programming in an English-based programming language.
Is It Harder For Non-English Students To Learn Programming?
Absolutely it’s harder, significantly harder.
I know a handful of very talented developers where English is not their first language (so it can be done).
That said, I can’t imagine learning to code with a weak understanding of English. Memorizing keywords is one thing. It’s another thing entirely when you realize tutorials, documentation, and Google troubleshooting will also require English to understand.
You basically need to learn English as a 2nd language to take advantage of all the resources out there.
How China Adopted The QWERTY Keyboard
Back to the most spoken languages in the world. Why aren’t there any Mandarin languages that surpass English ones in popularity?
The reason is that Chinese languages use thousands of symbols to describe words (rather than our 26 character alphabet). This was a major problem for China (and all countries with character-based languages) entering the 80’s and 90’s.
However, they did come up with a partial solution to it. China adopted PinYin. PinYin allows users to sound out Chinese words using a QWERTY keyboard, PinYin autocompletes the corresponding Chinese symbol as you type.
This is actually a reasonably fast way to type. Typing speeds in PinYin are comparable (or faster) than typing English on a QWERTY keyboard. Check out the video below from Johnny Harris about how the history of PinYin.
Even with PinYin, there aren’t any popular programming languages written in Mandarin. In fact, this post claims the first Mandarin-based programming language was developed in 2020 by a Carnegie Melon University student.
So yes, Chinese programmers are working with English-based languages. And changing that isn’t simple. For instance, even you created a backend language written in Mandarin, you would still need a front-end written in JavaScript/HTML (AKA english). It’s borderline impossible for a new developer to avoid learning English-based programming languages.