Programmers Stack Exchange is a question and answer site for professional programmers interested in conceptual questions about software development. Join them; it only takes a minute:

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

I've heard it said (by coworkers) that everyone "codes in English" regardless of where they're from. I find that difficult to believe, however I wouldn't be surprised if, for most programming languages, the supported character set is relatively narrow.

Have you ever worked in a country where English is not the primary language?

If so, what did their code look like?


locked by Thomas Owens Sep 17 '13 at 9:49

This question exists because it has historical significance, but it is not considered a good, on-topic question for this site, so please do not use it as evidence that you can ask similar questions here. This question and its answers are frozen and cannot be changed. More info: help center.

closed as not constructive by Jeff Atwood Sep 26 '11 at 3:14

As it currently stands, this question is not a good fit for our Q&A format. We expect answers to be supported by facts, references, or expertise, but this question will likely solicit debate, arguments, polling, or extended discussion. If you feel that this question can be improved and possibly reopened, visit the help center for guidance.If this question can be reworded to fit the rules in the help center, please edit the question.

It makes sense to name all things code in English to make it more integrated with frameworks not even mentioning the non-latin writing languages (I should find some Cyrillic or Chineese code; that would be interesting). The question is of course: Should it be British or American English? There are parts in .net framework with British spelling while most of it is in American. – Robert Koritnik Sep 15 '10 at 19:07
Really? Where is the British spelling? The American English used to annoy me (I'm Australian), but I'm used to it now... – Damovisa Sep 16 '10 at 2:39
The problem with questions like these is that people writing English answers to your English question on this English Q&A site are probably not representative of all programmers in non-English-speaking countries. – Larry Wang Sep 20 '10 at 5:36
a code sample – www0z0k Feb 5 '11 at 14:33
@Larry Wang: True, Stackoverflow users probably aren't representative. But we work at normal companies with normal coworkers and normal (read: representative) coding rules. So I think the answer's to this question aren't that distorted. – nikie Feb 5 '11 at 23:33

108 Answers 108

Yes, although I am Dutch I want everything on my computer to happen in English except for communicating with Dutch people or visiting Dutch sites... I really don't like the mix of Dutch and English all over the system and have thus chosen to do everything in the same language for consistency reasons.

When I was young I wanted to write everything in my own language, as for keywords...
But that just doesn't seem possible to accomplish. Maybe this is a good idea for a future language?


In my former work we had habit of talking in Swedish and writing in English, when for example writing something on the drawing board.
I think it started when we had a lot of consultants from different contries at the work. We had to switch between English and Swedish depending on who was listening to you.

I have to make a distinction between writing code comments and even documenation in English and write and talk about common-day thing in English. It is not the same.
I have written more design documentation in English than I remember but that doesn't mean that I can talk about how to cook food or writing a poem in English, or write an answer on SO without making spelling errors or use improper grammar.

My wife is from latin america and we speak Spanish at home so I am in the situation that I speak two languages regulary (Swedish and Spanish) and write two languages regulary; Swedish and English, the latter mostly about technical matters. Writing documentation in English is a required skill when working as an engineer in Sweden.


In Germany i think it depends on how big and open the shop is. In bigger banks people write in English because you might have to deal with non-German speaking consultants for a specific job.

But also remember the OpenOffice fiasco when people found out that most of the StarOffice code was written in German.


I'm from Finland and all the programs I know have been written in English. I have seen few Finnish comments though, but they are certainly not the accepted practice. In some databases I have seen even some column names in Finnish, but that too is considered wrong.

As it is perfectly possible that some day you have a coworker from another country like Pakistan, I think that coding in Finnish would be just irresponsible. The sole exception are some customer specific terms and especially acronyms since they can be very hard to translate and the translation would probably be hard to understand. Also you wouldn't be able to use the whole Finnish character set in variables etc.


Most programming languages are designed for English and English is the international language of programming. The same for Aviation, anywhere in the world at any airport, English is the default language.

There are a few programming languages I believe that are designed for different languages, either Russian or a variation of Mandarin but I have no idea how used they are or what they are called.


As Spaniard working in Ireland, now I do all my code in English.

But I have worked previously on Spain for a multinational project and we have to code everything in English (although no one was English-speaker, mostly Spanish and French, which leads sometimes to some really funny weird comments). And after that, I worked on a Spanish company and all the code has to be on Spanish. The problem on setting variables in Spanish is that you can't use (depending on the language) all the characters, as some are not available in ASCII. So that always leads to some deliberate typos on variables, which some times can be annoying.

For example:

// English
int size = 0;
// Proper, non-ascii Spanish
int tamaño = 0;
// Bad but ascii Spanish
int tamanno = 0;

Another curious effect is that there are a lot of characters used on programming (like #{}[], etc) that are much more easily accessible on a English keyboard than on a Spanish one. I found more comfortable to program on English layout (now that I have get used to it) as I have to make less weird key combinations.

These days, when I code for personal projects, I code in English, but probably because I'm used to it...

At the end of the day, it's just a matter of who do you expect to read your code, I guess... If I had to program just by my own for a while, probably I will revert to Spanish.


I'm from Brazil, and I spent a lot of time in university coding half English, half Portuguese software. Later I switched to full English for almost everything, particularly any projects I was opening up for people elsewhere.

Now that I'm living and working in England I've started using UK spelling for variables and the like. It's slightly annoying to mix a variable colour and ActionScript attribute color, but I'll live. :)


I am from Bangladesh, and every single coder I know use English in their code. We even switch to English (or at least Bengali with lots of English words) when we talk about programming. This is true even for people who are otherwise not very comfortable in English. I have seen some people use Bengali for variable names and small comments, but that is always in very short scripts, throwaway programs, solutions to programming puzzles etc. and almost always as something of a joke intended to amuse the reader.

I think this is true for programmers in most non-english speaking countries. Most good books, tutorials, documentation are in English, as are the comments,docstrings and variable names in any code you can find. English is also the preferred language to communicate with other programmers from around the world. So IMHO learning and using English in an everyday basis is not something a programmer can easily avoid. It forms a base for the common culture of programmers everywhere.


I'm from China, If I write code for myself, I use English,

If I write code with my Chinese coworkers, I use Chinese comment,

If I write code with other Foreigners, I use English.


English is not my mother language but I definitely use strictly English for everything. To be perfectly honest I absolutely hate to see non-English comments or something else written in a language besides English.

Mainly, because I think it's one of the most beautiful languages and probably (maybe) because for the languages/frameworks/more I learned/learn I use strictly english materials(like textbooks, online tutorials).


I just start a PHP code with the following lines:

/* -----------------------------------------------------------------------------
 file name     : DOCUMENTROOT/index.php
 compatibility : PHP 5.2.x / UTF-8 [LF]
 description   : 
 copyright     : Copyright(C)2010 by *********
 date          : managed since [2010-09-01 19.05 (JST: GMT+0900) @462]
 encode phrase : 時々京の方向に幅が細くて美しい線が入った飾りを持つ雀が往く
 encode phrase : 男は傷の拳で美しく印刷された一冊の書を持ち憎い相手の笑いに応じた
 encode phrase : 牀前看月光/疑是地上霜/擧頭望山月/低頭思故郷
 encode phrase : 茨菰葉爛別西灣/蓮子花開猶未還/妾夢不離江上水/人傳郎在鳳凰山
 encode phrase : 上記の文はエディタにエンコード判定させるためのダミー文です。
 Git revision  :
----------------------------------------------------------------------------- */

to tell my text editor its encoding. Most text editors will not appropriately recognize an encoding of text file when it was opened in it.


I'm Dutch and often code in English, even my personal, internal code. My English vocabulary is also richer when it comes to programming / computer science and it doesn't make a lot of sense to (try to) use Dutch words. I.e. if I would be naming a method signature a "Methode handtekening" I doubt if any fellow Dutch coders would understand what I mean.


I'm from Spain: in a time now, I'm mixing code in English and Spanish. From now on, I will set it strictly in English. The idea of doing everything in English is not crazy, is the future.


At a company I used to work for, the management purchased codebase for a soccer game from an Italian company. None of us really played much soccer, and most of the variables and comments were written in Italian. That was not a fun project.


I'm from Holland. Here, because very few dutch programmer resources exist, most people think and code in English. There are things in my personal life I couldn't explain in English, there are algorithms and patterns I couldn't possibly explain Dutch.

So my native language is dutch, except when it comes to IT related stuff.


I'm programming in germany. Most usually I see code written in english (as all the books we learn from and all the design patterns are english, and of course all official APIs are in english), but comments are frequently in german.

I try to write comments in english too, but I know thats not very common.


I'm from Romania, and where I am working there is a strict policy of adhering to standard notations and English. Even documents and how-to guides and wiki's are written in english. There is even no thought that you might write in the native tongue. English is by-default, and the company invests in compulsory English courses.


I think there is a lot of cognitive overhead when your code is part english, part some other language, especially if you're using some large API where you end up with english method calls on types declared in antoher tongue etc. So I'll use english unless I have a good reason not to.

One of these reasons, which I haven't seen mentioned, is ubiquitous language (as per the Domain Driven Design principles). If doing contracted work for which I rely on the knowledge of business experts, with whom I call one thing one way, and then in the code define the type in english, things get confusing, especially if that's and odd/unusual vocabulary which I'm not accustomed to...

Hence I've often been using a mix of the two, where business-critical objects and methods are named in the language AND tongue of the domain, and the rest of the code which is more of an infrastructure/technical concern is in english, to match the apis more smoothly.

But from a craftsman's point of view, I must say I have mixed feelings about this, and don't find this a very satisfying solution.


We use English in most projects just to follow the APIs.

But you shouldn't be dogmatic about it because there are always exceptions. For instance if you work for a German insurance company you will face so many domain specific concepts and terms which are not translatable at all you should consider using the native language. This is a team decision.


I speak Afrikaans as a first language. When I code I usually use a mix of Afrikaans and English variables and I mostly comment in Afrikaans. As we have 11 official languages I would code in English for official purposes (government projects etc.). If I quickly write code to test things I almost always code and comment in Afrikaans.


Swede here. I believe in Sweden most code is written in English simply since that's the way most programmers learn to program. All literature, all samples etc used in teaching (and on the web) is in English so it's natural to code in English. And I believe that's the way it should be.

There is one area though where it becomes problematic and that's when you start applying Domain Driven Development and want to follow the pattern of Ubiquitous Language. Now suddenly you want your code to be in English but at the same time you want your team and the business representatives to use the same terminology and although there is a lot of Swenglish in corporate Sweden you get an awfully uggly conversation when people start to mix the two languages.


I'm from Latvia, and I'm coding only in English. Makes the code look much more fluent and pure. Plus, my language is filled with all the fancy characters like "š", "ž", "č".. and therefore, makes it kind of unhealthy for the code.

But that's only my opinion..


I'm not a native english speaker but yes I code and write all my comments, class names, variable names, function names in english. Why? Well just because it makes more sense for me and it makes it much easier to share my code. Just my 2 cents


I'm Mexican, living near the border with USA (in Hermosillo, Sonora). I code all of my work (personal and for the company) in English, and I encourage my friends and teammates to do so too.

I have found that this give us a flat terminology (everyone, here and in other parts of the world use the same word for the same thing) and make out integration with our clients seamless.

Here in Mexico, and especially in some part near the border with the USA, a new kind of "Spanish" has been talked among several population groups, the "Spanglish" (yes, it just not a [bad] movie, but also a cultural term) and sometimes, this permeates to the "engineering layer" and the they start using terms like "linkear" (to link, create a link) or "parsear" (to parse), so I ask every programmer that I know just use plain English.


Mexican here

Whend doing my own work, i mostly use english, as many tutorials and examples are in english, i do code a lot in english though all comments are done un spanish, but when working on my companies software, i do code all in spanish


Once I've worked with code which was written by Italian programmers, and once by German programmers. It was standard MFC/C++, so of course all the keywords and language/platform was in English. But the variable names, classes, functions, and inline comments were in Italian and German, respectively.

It's amazing how much difference that makes in terms of readability and ease of maintenance.

On the flipside, I can imagine that as a non-English speaker, it would be quite a steep learning curve to learn a programming language/platform where all the keywords and APIs are in English. Even if all the documentation is translated and you can look it up.


I'm swedish and pretty much all my code is in english.

An intresting concept in this regard is Domain Driven Design, in that process it is a major point to not translate words and concepts:

Direct translation to and from the existing domain models may not be a good solution. Those models may be overly complex or poorly factored. They are probably undocumented. If one is used as a data interchange language, it essentially becomes frozen and cannot respond to new development needs.


Use a well-documented shared language that can express the necessary domain information as a common medium of communication, translating as necessary into and out of that language.

So if domain specific terms are in the local language and not translated along with the rest of the code, a domain expert but non-programmer can get a grasp of what the code does.


I had worked for a few months in Japan. Although the code was in English the file headers and small amount of comments they had was in Japanese. They actually had to find me a English keyboard to work with.


my native language is russian (i live in moscow), however i wright code, comments, svn comments (when it's allowed by repository rules), even project descriptions/documentation (also if allowed) only in english. and i use english documentation/language references.
there're generally two reasones for that: consistency of the result ,the fact that i'm really not going to translate any programming-related texts of mine - ever ;)


To me (from Denmark) it falls most natural to code in English. I guess there are two reasons.

First of all, all keywords and API classes and methods are already in English, so writing variables and comments in Danish makes the code inconsistent to read.

Secondly, all books, blogs, QA sites like P.SE and SO, are in English. So it is almost like my brain switches to an English mode when dealing with programming.

There are times however, where I would not choose English.

Sometimes you work in domains that are so tied to concepts that are language specific that they are impossible to translate to English. E.g. I worked at a mortgage issuer, and all their domain is loaded with legal terms, terms specific of Danish mortgage systems, etc.

I also worked with a system submitting forms to the government. Also here the domain was loaded with untranslatable terms.

So in the case the the domain is highly specific to the country where you work, you should keep the domain concepts in your local language. Otherwise the developers will speak a different language than the domain experts, and that will lead to poor communication.


Not the answer you're looking for? Browse other questions tagged or ask your own question.