As somebody with a friend who speaks Chinese as their first language, I know she often uses non-English file names, variable names, etc.
It’s still standard Python and C++ though (and excellent code at that!), nothing esoteric.
About every programming language is based on English. Names for functions, objects, variables are based on personal, project, or company preferences. In reality you’ll find these only in two languages as far as I’ve seen in the last decades: either English or Chinese. I’ve seen German and, sadly, French, but they are outliers.
Online: everything in English for me, except for some explanations sometimes but that’s just at random as I’m a hobbyist/amateur.
Offline (a course I did): explanations in Portuguese (Brazil), we learned Portugol (programming language that uses Portuguese keywords) as an introduction then switched to C.
Most popular programming languages have English-language keywords and that can’t be changed, so we certainly have to learn those.
How we learn to name symbols (variable/function names), that obviously depends on the programming course. But most real-world code has most symbols written in English with the possible exception of business-specific terminology that the business doesn’t use in English. The same is true of comments.
I quit my degree in computer science in 2018 after studying for two years, but I remember that it was a big focus on using norwegian for variable names.
The real deal isn’t the language barrier but the keyboard layout. Most special characters usually used for coding are just perfectly at hand when using the US layout.
At one point i started buying US keyboards set with the US-int layout, which i find easier to use than ES and latam.
Everyone should code in Armenian. Why? Because it would be funny.
i’ve seen both. there is german program code with german variable names and german comments. yeah, it sounds about as strange as it is.
// diese variable beschreibt den luftzug an den messrohren var trötflöte = lese_zahl_aus(datenbank);but it’s rare. most people who work in IT in germany will write english variable names and english comments.
In my experience it’s more common in industrial (plc) and embedded software. Where people don’t have to work in large teams.
what does “plc” mean here?
Programmable Logic Controller
No, your controls are cursed! It stands for “Pretty Lame Computer”
Context
There is a YouTube channel called cursed controls which calls them that.
It’s super common if it’s any sort of open source project because the collaborators can be anywhere and English is a good baseline.
IIRC one of the big tasks when Star Office became Open Office (later Libre Office) was translating a bunch of the German comments to make the code more accessible.
I’m sure I’ve seen some majority french code bases as well. There are certainly academic hypervisors out of China which have comments in Chinese kanji.

Also air traffic control and commercial aviation radio communication are in English, worldwide.
For handling international traffic under ICAO rules, ATC is indeed supposed to be done in English.
But if we take a look at some of the terminology in aviation, the French words cannot be ignored. Mayday and pan-pan are from the French venez m’aider and panne.
When radio silence is required, a station might command “SEE-LONCE” but this comes from the French word for silence. Though I think this is a rarity in aviation.
And then outside of aviation radio, the French left their mark on aircraft parts names: fuselage, empennage, aileron.
Maritime radio has a lot of French in it
It depends honestly.
Key words like If, Match, Else, From, This ,etc will be in English, but variable names can be in any Unicode language as the var name gets converted to machine code after compilation.
Preferably in English. Nothing is worse than reading code with a mixture of languages. Although false friends can also be quite annoying.
Although false friends can also be quite annoying.
What does “false friends” mean?
In a nutshell, words that look the same / similar but with different meanings in their respective languages, making it pretty confusing.
What should you do if you inherit a project where they are already mixing languages because they just copy pasted from tutorials?
Exacerbate the problem by using your own style that’s not been used before.
The only solution to having too many standards is always to add another new standard. /xkcd
int main(){ cout << "It's more compact this way and yeah I'll die on this hill"; Return 0;} //see you even get to end lines in devious winky smilies who doesn't love that
Sadly, in the horrible english language
I teach my students to just code in English from the start. Not all languages/compilers/linkers/whatever handles the Danish characters ‘æ’, ‘ø’, and ‘å’ all that predictably, most companies will require you to use English for international collaboration, and besides most documentation is in English anyway. Last reason is why I urge my students to just use English versions when available. Some FLOSS translations are crap, and you can’t just copy paste an error into askjeeves and get an answer.
The only thing that has to be in Danish is Excel automation, because for some bizarre reason Microsoft translated
allsome of the functions. I say some because I’ve seen functions in English that just wasn’t available in Danish Excel.A mix. In uni we learned algorithms in pseudo code and that was always in native language. Actual coding was typically English, but older professors often did it in their language.
You’ll be surprised to learn that WinDEV can be programmed in a ton of diferent languages. I mean the instruction set and all. It feels dirty to read code written in french, and that’s my mother tongue. What a shit show. Only ‘logo’ for kids in primary school makes sense to have in their native language. EDIT : mostly french or English actually https://pcsoft.fr/wlangage.htm











