Take the 2-minute tour ×
Programmers Stack Exchange is a question and answer site for professional programmers interested in conceptual questions about software development. It's 100% free, no registration required.

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?

share

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.

14  
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
3  
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
55  
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
3  
a code sample wonderfl.net/c/iUH0/read –  www0z0k Feb 5 '11 at 14:33
1  
@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
show 4 more comments

108 Answers

I'm from Slovenia and I code strictly in English. I have seen different programs coded in Slovenian because the client demanded so. Apparently it's easier to read the code like that.
So yes, people don't only code in English.

And I'm talking about the code itself, not software localization.

share
show 2 more comments

I'm from Italy but I'm not sure what you're asking.

If you're talking about naming objects, yes, we do that in English. Usually students name their objects in Italian for learning purposes. But personally I find it difficult and prefer to use English, since some technical terms are extremely awful in Italian.

share
add comment

I have never seen anyone use non-English names in code here in Israel, but my experience is limited to university projects. At any rate, I personally only code in English, and I actually also type all my emails and homework assignment in English. This is mainly because Hebrew is written right to left, and it can be very annoying incorporating English terms into the text.

share
1  
I definitely know of some people who transliterate in chats and SMS. However, I would really frown upon that in code, especially in comments. –  EpsilonVector Sep 8 '10 at 23:18
show 2 more comments

I'm Italian and always use English, for names and comments. But many other Italian programmers use Italian language, or more often a strange English-Italian mix (something like IsUtenteCopy).

A real life code sample:

// Trovo la foto collegata al verbale
tblVerbali rsVerbale;
hr = rsVerbale.OpenByID(GetDBConn(), m_idVerbale);
if( FAILED(hr) )
    throw CErrorHR(hr);
hr = rsVerbale.MoveFirst();
if( S_OK != hr )
    throw CError(_T("Record del verbale non trovato."));

By the way, the Visual Studio MFC wizard creates a skeleton application with localized comments:

BOOL CMainFrame::PreCreateWindow(CREATESTRUCT& cs)
{
    if( !CMDIFrameWndEx::PreCreateWindow(cs) )
        return FALSE;
    // TODO: modificare la classe o gli stili Window modificando 
    //  la struttura CREATESTRUCT

    return TRUE;
}
share
7  
Siamo messi proprio male :P –  Federico Culloca Sep 8 '10 at 23:11
5  
Thanks for the code sample - that's awesome. –  Damovisa Sep 9 '10 at 0:43
2  
@Lorenzo method like isUtenteCopy is a must here in italy, lol! –  systempuntoout Sep 9 '10 at 7:13
13  
That's one of the reasons I'll never work in Italy.. –  Andreas Bonini Sep 9 '10 at 13:15
3  
I've just ran into a fellow developer yesterday who happened to work on some international firm, they are adding some features to a system that it was build by and for an Italian telecom company. Unfortunately they almost code everything in italian, that includes variables, methods names, comments, and even logs!!Even during some sort of a handover session only one developer from the Italian team could speak English well enough to walk the folks through the code.. Anyway, it seems Google Translator is getting great reputation in my friend's team now :D –  Shady M. Najib May 17 '11 at 12:01
show 8 more comments

I'm from Egypt. I think we switch to English by default when we talk, or even think about code. Most of the learning resources - regular ones like books, and even blogs, podcasts and so on - are in English. Switching to your mother tongue means turning your back to lots of great resources.

I guess this post might convey my point, via Jeff Atwood: http://www.codinghorror.com/blog/2009/03/the-ugly-american-programmer.html

share
3  
Being from the US, I hate to admit it but the 'Ugly Americans' still hold a lot of cultural influence in our country (to the detriment of us all), especially in business. Just like racism, sexism, etc... cultural progress in the states is measured the same as it alway has been. One generation at a time. –  Evan Plaice Sep 11 '10 at 9:45
show 2 more comments

Yeah, we do. I'm from Uruguay and we usually code with variable names in English. Some people leave comments in Spanish, but I find that a bit awkward. In a previous job we were forced to use Spanish for variables and methods, and I hated it.

share
7  
I have found that the best compromise is to leave the business terms in Spanish and everything else in English, because Spanish business terms might not translate well, specially when the programmer does it. I do things like: getPromotorFactory() all the time. It looks weird, but if the style is consistent, I find the code is easier to understand by other developers in the same company. –  Sergio Acosta Sep 9 '10 at 6:59
show 1 more comment

Even for personal projects I tend to use English mostly because it's easier to ask questions about the code on Stack Overflow or other websites. The same goes for my operating system - I only use English. I had a Dutch operating system once, and it's really horrible to google for errors or information.

There is one advantage of coding in another language and that is that you most likely won't run into conflicting or reserved words.

share
add comment

I'm from Taiwan. We code in English and follow the naming convention of specific languages.

share
add comment

I work for a software editor in France. Code is always in English. The variables and function names are all in English even if mistakes occur sometimes. The worst mix of French and English I encountered was "connexionKey". On the other hand, comments are not always in English depending on how confortable the developer is writing English.

share
1  
While I don't know the situation you encountered, "connexion" is the original English spelling and (at least according to Wikipedia) still somewhat used. –  Roger Pate Sep 9 '10 at 10:52
1  
I think "manouever" is a misspelling. The British spelling would be "manoeuvre." (And yes, I had to look that up to be sure; I'm very good at spelling most words, but anything derived from "oeuvre" throws me for a loop.) –  Robert Rossney Sep 20 '10 at 23:11
show 1 more comment

In the Visual Studio editor, most of the places we deal with non-English bugs are in comments, and they are most east-Asian languages (Input Method Editor (IME) related). I'm pretty sure I just saw one the other day where right-to-left text in comments displays incorrectly in quick info or parameter help, so there are certainly people doing it :)

share
add comment

In France, many people tend to code using French objects/methods/variables names if they work with non English speaking colleagues. However, it is really depends on your environment.

The thumb rule is 'the more skilled people you are working / the projects you are working on are, the more likely it is that it is going to be in English'/

It seems to be the same in Germany.

share
22  
It would be of no surprise to me whatsoever that the french would program in french... (not that i'm saying they hate speaking english, but, well, i think that is what i'm saying...) –  David_001 Sep 9 '10 at 10:11
8  
Being a professional programmer who hates English is not really a sustainable position to be in :-) –  DomQ Sep 9 '10 at 11:27
1  
@David_001 spot on ;-) –  Preets Sep 9 '10 at 13:51
20  
As an American who once spent about a month in France, I'd actually like to contradict the "French Hate Speaking English" stereotype. My experience was that I'd start talking in French, and then we'd often wind up switching over to English with little social friction. The attitude seemed to be "Thank you for attempting to learn my language; I appreciate the effort. Unfortunately, your French really sucks and my English doesn't, so let's use that, as I don't want to be here all f**king day." Probably worth noting that 1) I wasn't in Paris and 2) this was back in '94. –  BlairHippo Sep 16 '10 at 15:46
6  
@BlairHippo: as an french citizen who moved, I encounter the stereotype (and suffer from it) very often. My explanation is that (and I hate to generalize) people are too proud to show their lack of skills in english. If you are addressing them in native english (or american), you are getting a huge unfair advantage. By starting with french - especially if it's bad, you show that you won't be judging them if they have bad english, since you dared showing your bad french. Most french people who know english are very likely to use it for showing off :) –  Gauthier Dec 20 '10 at 10:22
show 3 more comments

I worked with a 20-person team in Lima, Peru for several years on a classic ASP project. This was 10 years ago, so conventions may have changed, but at that time, all of the comments and variable names were in Spanish.

share
add comment

I'm from Brazil, and in my last job, some guys didn't speak english, so we had to write things in portuguese, but most of the people wrote in english.

share
add comment

I'm from Quebec and a French speaking person, but all my code, comment and documentation is always done in English. But I know some companies in Quebec that enforce French in the code (comments and object/variable naming).

share
show 1 more comment

I'm from Bangalore, India. Programmers are from various states with different languages.

We code in English, document in English, comment in English, naming convention is in English. English is our common language while talking in office.

share
1  
Do you think you could reformat your answer so that it can be seen without using the horizontal scrollbar? –  Sandeep Datta Sep 9 '10 at 9:52
9  
+1 My team has people from at least 7 different languages. English is the only way to go - even for gossiping :) –  Amarghosh Sep 13 '10 at 7:18
2  
My Indian colleagues and I occationally have a laugh about many Indians speaking Hinglish. It's mostly English but noticably different. English code tends to be very good whereas documentation brings out some excentricities. –  Sir Wobin Feb 11 '11 at 9:24
show 2 more comments

I'm from the Philippines. Most people code, document, and name variables in English here. Also, I find English to be one of the most suitable language to use in programming because it has richer vocabulary than most languages out there.

share
add comment

I'm from Denmark.

Code, documentation, naming, design documents etc. is all done in English. I have only ever seen otherwise in hobbyist and student projects - and even then only very rarely.

The only open question that I see is what to do about (potentially) user-visible strings:

window.setHeader("????");

throw new ThisMightBeSeenByTheUserInAnErrorMessageException("????");

For exceptions I prefer using English messages. It looks better and you have to deal with English exception-messages from frameworks anyway.

For GUI texts I am more agnostic. It is a more elegant solution to write everything in English and use a localization solution to translate to Danish, but it is a lot of work for an application that will only ever be used by Danish users.

share
show 2 more comments

I live and work in the Netherlands, but all the code we write is in English. Here are some reasons I can think of why we code in English:

  • The .NET framework we work with is in English. It's always better to follow conventions of the framework you're working with and I believe this includes the language.
  • Dutch is a horrible language for describing technical concepts. English has words that can accurately describe something technical, e.g. a piece of software, but many of these words have no Dutch equivalent. The word "interact" is an example of this; there's no commonly used Dutch word that conveys the same message.
  • A small percentage of the company doesn't speak Dutch (yet).

The only reason I can think of why you would not code in English, is in the context of domain-driven design. Practicing DDD includes defining a ubiquitous language with your client. If your client demands the use of non-English terms, it would be unwise to translate these terms to English in your code; it defeats the purpose of the ubiquitous language.

share
1  
I don't agree that Dutch is a horrible language for describing technical concepts. It is just that nowadays most technical texts we read are not in Dutch so we are not used to the Dutch equivalent of technical terms any more. But for the rest I agree with you. The framework is already in English and who knows that your code might ever be read by someone who doesn't speak Dutch. So it's usually company policy (also documentation). But this is not really specific to the Netherlands. –  Matthijs Wessels Sep 9 '10 at 8:56
show 2 more comments

I am currently in the Netherlands, but coming from Russia originally. 11 years ago, many programmers in Russia didn't have a good command of English, hence the comments were often in Russian. Variable names and function methods were still in English, or what people thought was English, simply because corresponding Russian words tend to be long, and sometimes seem to obscure the sense. Now it's probably like everywhere: the more professional people are, the more the chance that their comments are in English.

In the Netherlands, I have seen Dutch comments and variable / method names in the company where the majority of the programmers were Dutch (such companies do exist:) ) But it was the only case.

By the way, the question 'Did you know the Latin alphabet until you came to the West' used to annoy me, until I have learned to laugh at it:)

share
add comment

I'm from Sweden and both me and my colleagues code in English. I think this is a good thing, but sometimes it can be difficult to come up with English equivalents to customer specific terms and expressions.

My reasons for writing code in English:

  • Allmost all programming languages I have ever used have been written in English (mixing languages would make the code harder to read for me)

  • Most popular frameworks and third party extension are written in English (again, mixing languages would only be a distraction)

  • Swedish characters (åäö) are usually not allowed when naming variables and functions

  • If the other team members are from different countries we can still collaborate

  • If I need support from a platform vendor it is is much easier for them to help me if they can understand my code

  • It is easier to outsource support

share
7  
I visited Sweden on time in the 1980's and was amazed that just about everyone I met spoke good English ... including shop assistants and taxi drivers. You guys rock! –  Stephen C Oct 19 '10 at 14:52
3  
+1 for "it can be difficult to come up with English equivalents to customer specific terms and expressions"... And I also agree with Stephen C when he says Swedish people speak good English... –  pgras Feb 11 '11 at 12:12
add comment

I'm from Valencia, Spain and the proper answer is "depends".

For most non-public/non-OS things i do a mix of English and Spanish in variable naming, but all my comments are in Spanish and I hope noone tells me to document/comment things in Valencian

But things change when you're publishing something under Open Source, since doing it in your local language restricts your potential users and collaborators to a smaller audience.

I can give you an example of language as a barrier: When I was running a WoW guild i began to look for alternatives to EQDKP and i found them, but most had it's documentation and comments in german so i lost any interest because relying on Google Translator wasn't an option for me, heck, some of them were awesome projects.

You also asked for a code example, as i told i tend to mix English and Spanish, but this snippet is so brief that i did not need any kind of mixture

function validaDNINIE(numero) {
// Eliminar todo lo que no sea número o letra
numero.replace(/[^0-9A-Z]/i, '').toUpperCase();
if (!numero.match(/((^[A-Z]{1}[0-9]{7}[A-Z0-9]{1}$|^[T]{1}[A-Z0-9]{8}$)|^[0-9]{8}[A-Z]{1}$)/i)) {
    return false;
}
// Comprobación de NIF
if (numero.match(/^[0-9]{8}[TRWAGMYFPDXBNJZSQVHLCKE]{1}$/i)) {
    var letra = numero.charAt(numero.length-1);
    if (letra == "TRWAGMYFPDXBNJZSQVHLCKE".charAt(numero.substr(0, numero.length-1) % 23)) {
        return true;
    }
}
// Comprobación de NIE
// T00000000
if (numero.match(/^[T]/)) {
    if (numero == numero.match(/^[T]{1}[A-Z0-9]{8}$/)) return true;
}
// ZXY
if (numero.match(/^[XYZ]{1}/)) {
    // X = 88, asi conseguimos X=0;Y=1;Z=2
    var su = numero.charCodeAt(0)-88 + '' + numero.substr(1, numero.length-2);
    if (numero.charAt(numero.length-1) == "TRWAGMYFPDXBNJZSQVHLCKE".charAt(su % 23)) {
        return true;
    }
}
// Si hemos llegado aqui es que el numero no es valido
return false;
}
share
add comment

I am from England, and I try to code (and post on sites like Stack Overflow) in US English, because that is the established international language for programming.

I think I am in the minority though. Some British programmers I know insist on using British spellings even when collaborating with other coders who are using US English and can get upset when an American or Indian colleague edits their comments to change from British to US English (don't try that on Ward's wiki.)

share
2  
Likewise - I'm English and generally use US English when programming. I still want a "Colour" property that's just a synonym for Color, but other than that I've got over it. The fact I was taught Oxford-style -ize rather than Cambridge-style -ise makes it easier anyway. –  Richard Gadsden Sep 9 '10 at 10:44
7  
I use British spellings everywhere, for no better reason than because I can. –  Dan Dyer Sep 12 '10 at 14:35
2  
I use British (read: international) spelling everywhere but in code—much to my own chagrin—for consistency with, somewhat ironically, international de facto standards. –  Jon Purdy Sep 16 '10 at 0:27
1  
@Jon it doesn’t seem then that British is quite so international as you would have us read. –  nohat Oct 6 '10 at 17:50
4  
I know colleagues who write in British English just to annoy American colleagues. –  Sir Wobin Feb 11 '11 at 9:28
show 3 more comments

From India, like someone else said we are 100% English! But I have also worked in Germany for a short while. The Germans used to do it like the Italians (like Lorenzo said). But bigger companies like Siemens etc. have standardised on English. It's much easier to delegate your work outside of your base country when all of your documentation and code is in English.

share
add comment

I'm from Belarus, but I'm always use English for comments. And as I know a lot of Belarus programmers use English as primary language for coding.

    /// <summary>
    /// Get item quantity
    /// </summary>
    /// <param name="itemCode">Item code</param>
    /// <param name="grade">Grade</param>
    /// <param name="lpn">LPN</param>
    /// <returns>Returns item quantity</returns>
    private int GetQuantity(string itemCode, string grade, int lpn)
    {
        using (var db = new MappingDataContext(_connection))
        {
            db.ObjectTrackingEnabled = false;
            return (from i in db.INVENTORs
                    where i.ITEM_NO == itemCode
                    where i.CUSTCHAR12 == grade
                    select i.ITEM_NO).Count();
        }
    }
share
2  
OT: Your code example contains 7 lines of comments without any real content besides repeating the name of the function and the parameters. I wrote this, because I did the same thing in the past until I realized that it’s a complete waste of time for everyone involved. I know a “comment compulsion” like this hard to overcome, because a function without a comment header look so unfinished once you are used to it, but focusing only on important comments will save you a lot of time and improve your commenting skills in general. –  xsl Sep 20 '10 at 12:08
1  
@xsl, Thorbjørn: this is XML documentation in C#. Technical documentation can be generated from these XML comments. There is a tool called Ghostdoc that creates and fills these stubs automatically, so creating these 7 lines of documentation does not require typing at all. While it usually does not provide value to the programmer who edits the code, visually, it separates methods and is not obtrusive. –  Marek Oct 28 '10 at 12:07
show 2 more comments

I'm surely the weird one: I use a language that is tokenized, and so even the language itself can be displayed in your own native language (French, English, German, Spanish and Japanese). It's an RBDMS language born in the 1980s, called 4th Dimension. Have a look at the Language Command translation by clicking on the flags icons.

Hereunder you can see the same code seen with French and English settings.

alt text

alt text

share
show 3 more comments

I usually do everything in English when programming C#, but sometimes we throw in some Spanish or Italian in comments. Some business objects are in Spanish (but always mixed with English for actions and such).

Now, when I’m in Objective-C, I always stick to English. It makes so much sense (in the way the language is structured) that it’s easier to read.

share
add comment

I (dutchy) always code in English, it just makes much more sense, all the language keywords, etc. are in English, so why not code the rest in English? :)

I always put all comments in English as well. You never know who will have to edit your code, they might not speak your native language.

share
add comment

I am English and have lived and worked in Germany. I nearly always use English unless I can't think what the English term for something is. Then I use a German word.

I have met one or two who insist on only using English ('because it is better') but then spell things incorrectly which can be very bothersome when it makes its way into the API. There have been some compile-issues when using accents (for example, 'Müller') in source code. These have been forbidden.

Team discussion is exclusively in German. Coding is mixed. Most tend towards German names for variables and methods, etc. but will use English when it suits them. What ticks me off is when the English spelling is wrong.

share
show 1 more comment

Being from the Netherlands I've had the nasty experience of being forced to write comments (and even variable names) in Dutch at school. Most of the time I rejected this attitude and wrote all that in pure English regardless, along with several other students that already had programming experience or learned fast.

In all the companies I've worked for the only use of Dutch was for strings the end-user could or would see, all other text (non-user documentation included) was in English.

share
add comment

I'm French. As has been pointed out in comments, my countrymen tend to exhibit an above-average pride in the national language :-). I take a pragmatic position on the issue myself:

  • I speak the language that the target audience will most likely understand. When coding open-source software with a global ambition, I use English. For less widely useful stuff (for instance, my Emacs configuration file), I might use French.
  • I acknowledge the fact that not everyone will master English. In that perspective, using my mother tongue might actually make my code more accessible instead of less (in the example above, nobody cares about an umpteenth .emacs, except if it happens to be written in a language that they understand).
  • Better to write good French than bad English. I actively discourage my subordinates from writing half-assed English especially where concision matters, eg in docstrings and version control commit messages.
share
42  
+1 for "Better to write good French than bad English" –  Damovisa Sep 10 '10 at 1:58
2  
+1 for the exact same resason! –  Rook Sep 20 '10 at 23:41
1  
And then someday your company gets bought out by foreigners who have to browse through your code. Yeah, it's not that much fun having to go through our French colleagues source code... –  Carra Mar 6 '12 at 14:38
7  
Even though I don't know a word of say Vietnamese, if my choice is between reading code with correct Vietnamese comments, or "English" comments that excessivly broken and ambiguous, I'd strongly prefer the former. It is possible for me to use multiple automatic translations, a Vietnamese-English disctionary, and/or a human translator to understand the Vietnamese, but the intended meaning of the ambiguous broken english may well be lost forever. –  Kevin Cathcart Apr 13 '12 at 17:29
show 3 more comments

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