a companion discussion area for blog.codinghorror.com

The Ugly American Programmer


A point I have found, and not seen in the comments so far is that it is easier to read and write documents which are written in ONE language and not in TWO. The English keywords in the program code essentially means that the code will drift towards being written in English, and this is both variable names and comments. It is simply easier to handle for my mind (and from what I see elsewhere for others too)

It took a lot of experimentation as I believe that you can express yourself most fluently in your native language, but I ended up concluding that it just didn’t work for me. Mentally switching between the two languages hindered more than I gained by being able to write in Danish.

Please note that this goes for code and documentation - not communication with non-programmers. I consider English a tool, like Latin is used in the medical world.


and it’s NOT an April’s fool joke!


I’m a translator (literary, not technical), and I never read translations if I can avoid it, because I know what a dirty trade it is. Translated software manuals are an abomination. Most translators, even specialized ones, are not up to date with the technology. They don’t use the words they translate, so they have only a vague idea what they mean, so they use whatever their TM tells them, or what some random person on a mailing list says, or (if deadline is near) what Google suggests. Or they have too rigid ideas what the word in the target language should be. I had a heated discussion with a colleague who insisted on translating the simple word link (as in hyperlink) to German as Verweis. Now a Verweis is a reference or referral, it’s something under a See also heading, but it isn’t a link in common parlance. A link is just called Link in German, that’s the most common and most unequivocal word there is. Maybe 20 years ago someone at Siemens or a German university would have preferred the word Verweis or Verknüpfung, but those times have passed. Only that the translators haven’t noticed.

Software l10n is worse. People seem to translate strings without seeing in what context they appear. Translations within one app are inconsistent, help texts point to nonexistant menu entries because the translation has changed. The only solution I see for that is crowdsourcing it: provide an easy interface to suggest a translation/correction without having to register.

But the most important reason why I prefer to use the English version of any software is support. Google for an English error message or post it in a forum, you’ll most probably find that you’re not the only one with that problem. With a localized version of the same message, good luck.

Everybody should at least understand English. It may not be the best choice for a lingua franca (spelling/pronunciation are more disparate than in any other language I know – OK, I don’t know Irish) but it is the lingua franca.


Nothing much to add, except I went and made a full translation of the post, linking back to the original entry, obviously :slight_smile:


It is in Spanish for the benefit of those people whose English en’t that good :slight_smile:


Iway itewray allway ofway ymay ommentscay inway Igpay Atinlay.


English is my second language. And I set my locale to English because it makes everything easier for me. It makes me feel as part of a larger, more referential community. I know, for instance, that I can google error messages and find help easily that way.

I’ve seen bad attempts at translating keywords and key mappings which completely obfuscate usability when you switch from a language to another. What’s the Italian for a while loop? How do you write the SUM() function in Excel in ? What should the shortcut for Bold be in French when the translation for Bold in that language starts with G?

Informatics is its own language. Most of the time, it’s based on English. Can we do better? How about Latin? Esperanto? What kind of perspective would a new tongue bring to programming language constructs?

The problem with anglophones is they are used getting their way and stick to it, even when it sucks. Americans continue to impose feets and inches and miles to the rest of the world even though most of it has moved to metric. English holds a monopoly on novelty because it’s more widespread, marketable and less likely to go out of its way. At the same time, anglophony is an affluent of many cultures where cross-breeding does happen. In the end, everyone learns to accommodate to English, while English grows better by letting the world come to it instead of the other way around. Some people are worried about that, but that’s for another discussion.

Other cultures act as a counter-environment to Americana, breeding new insights. I used the word informatics earlier. In some languages, a programmer is someone whose work is to literally automate information. I’m convinced native language introduces a bias in the way that we use it, much like Java vs Python does. Sometimes, I wonder what would have happened if the computer revolution happened in a different language…


This article is pure comment-bait!
And another thing … the worst thing about en_US is that there are so many differences in spelling between it and The Queen’s English en_GB, which I do not speak as I am en_IE hiberno-english speaker or ga_IE Irish speaker ()
What bothers me most is that non-English speaking programmers learn a bad version of en_US contributing to more cr

So when you say Pls Lurn ENglish, what you really mean is Please learn American English ; Well I prefer to speak write proper English and will continue to do so, and use dialect independent keywords whenever I can. I hate the word color .

( ga_IE * and No, I wouldn’t not choose Irish to program in as it is just not suited to it, but it’s a very conversational language, one that you can communicate ideas in except that not enough people speak it fluently)


Since you claim to read every comment here goes mine. I didn’t read all of them, so apologies if this was mentioned before.

What makes you an ugly American is not the fact that you acknowledge english is somewhat of a lingua franca. It’s that you somehow feel the need to go out and decree that every single programmer in the world should know English. It simply doesn’t follow from your premise. Yes, programmers in western europe most certainly don’t have a choice, but those in, say, China, probably do. Increasingly so as more of their tools will be homegrown in the future. Your inability to see things from the perspective of most of the rest of the world is somewhat typical really.

On a topical note, I can see how it might seem silly to have more than one language to communicate with other programmers in, but guess what, it isn’t really rational to have multiple languages in the first place. Things would all be a lot easier if we all spoke the same language worldwide. Don’t hold your breath for that changing any time soon though, and certainly don’t hold your breath for the universal language becoming English, Esperanto, or indeed any language in the form it exists today.


English websites / newsgroups - RTFM (even if none exist)
German websites / newsgroups - good german explanations

English non native speaker comments - mostly useless, the same as the function names.

So why using english outside US?

Languages change, so use bad english instead useful native comments is lousy.


Hm. Is it really English we’re speaking ?

Think of the terms we currently use to describe a situation to fellow
coders: linked list, hash map, set, file, log, database,

Yes it is English we use in between the technical terms.


Although I don’t disagree, I would point out that when saying English has a richer technical vocabulary, you have to at least wonder about why that is so. Was English better suited from the start (the answer is no), or is it just that we developed and used the new tech terms in an English context? And how about the fact that English is a rich language because it borrows from all other languages? Pointing out the reasons is one way of not sounding close minded about the idea of a foreign language.


It’s interesting to see so many people commenting in perfect English for whom English is a second or third language, while half the people who speak it natively can’t bring themselves to use capitalization or punctuation.

It just makes me want to gouge out my eyes when I see some of the stuff my fellow native English speakers write on the Internet. I don’t claim to be a linguist. I can’t diagram a sentence, but I know that omg, did u see what happned to ur post it got so deleted is not even near acceptable.


Bueno, en realidad no creo que usar el ingles para comunicarnos por el Internet o comentarios en los programas que escribimos sea una buena idea ya que todos vivimos en regiones diferentes en el mundo y tenemos que sobrevivir en esos sitios donde se hablan otros idiomas.

Ehrlich gesagt, ich glaube es ist nicht eine gute Idee auf Englisch uns im Internet zu unterhalten oder unsere Kodekommentare zu schreiben. Wir kommen eigentlich aus verschiedene Regionen der Welt und müssen eben in diesen Regionen überleben.

Imaging if all you spoke were Englisch and the texts above were important comments on your code or something like that, you will be busy googling or finding someone to translate.

Isn’t ironic how all the posts are coming from people all over the world in English and not in their native tongues (whether for or against)? I guess English IS the Lingua Franca of the Internet (and programming).



Dude, face it - you can’t make 2 billion Chinese and Indians learn your lingo.

English is a horrible language for communication - it has too many corner cases.

Documentation shouldb be written in…Esperanto. And, no, I wasn’t being ironic or kidding.


Hey, I just wanted to say that I’m happy I’m not the only one who think eo (Esperanto) is an OK language for technical stuff.


English is not the majority language of the Internet any more. There are more people who speak some form of Chinese as a first language than speak English as a first language. We don’t see Chinese text because China has a big firewall, and because (probably) we’re not interested in browsing Chinese websites and our search engines do not return Chinese results.


Most people seem to agree with use of English in text - it seems obvious. Now let’s discuss those pesky Metric or Imperial units - when are we going to escape from archaic miles or inches or gallons or pints?

This isn’t a trivial point. Ask the people who built a wonky Hubble mirror.


English is a Germanic language and most of the simple and short words (words like grass, fox, sheep, stone, water…) have a Germanic origin. However French speaking people invaded England and brought along a lot of Latin words. So most complex and long English words come from Latin via French (words like complex, subject, documentation…) . In most European languages those same Latin words are used for complex words. This means that is for most Europeans easier to read English documentation about complex subjects than reading about very simple subjects. Latin is a common base.

I think it is very different for Chinese people.


I learned how to program before I learned English. But you really can’t avoid learning English when you write code, so the question is moot.


I’m French, and I have to agree with you: all programmers should know English. However, I’d add two caveats.

You say: nobody (or at least nobody who is sane, anyway) localizes programming languages., but I don’t think the designers of AppleScript were insane (AppleScript initially had French and Japanese dialects, which ended up being dropped), because it falls under the first caveat: programming systems for non-professional programmers (end-user automation, macro languages, etc) should be localised, if not the language, at least the tools and documentation.

Second, while you can assume that programmers can read and write English, do not assume they can (understandably, at least) speak or understand spoken English; this is significantly harder and not necessary for the job. While many do, if only to interact with programmers abroad, many don’t. And I do have good spoken English skills (heck, I watch movies in English at the theater and notice the inaccuracies in the French subtitling), but I’m not listening to the stackoverflow podcast because doing so (contrary to listening to something in French) requires enough concentration that I cannot do anything else at the same time such as doing the dishes, navigating public transportation, etc., all sort of situations during which podcasts are usually being listened, and I don’t have time to dedicace to only your podcast (that is why I am grateful you posts summaries of your podcasts).