a companion discussion area for blog.codinghorror.com

The Ugly American Programmer


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).


i am still new to programming in c++ i just won to know in c++ is it posable to have GUI or graphic user interface
if so please send me an exaple
e-mail - kevinos@live.co.za


I will agree with English is the lingua franca of programming if you are more specific: English is the WRITTEN lingua franca of programming. I was always able to exchange comments and questions of code with american programmers… but have you (non-american programmers) tried do it verbally? It’s a pain!! They’re even not able to communicate the same ideas verbally among programmers from different regions of USA. I’ve been witness of discussions about verbal terms between south-carolina and north-carolina programmers. I think that a Hacker and his/her code should be able to coexist with any human-written language because of two simply reasons: 1. Hackers are the most intuitive and inquisitive creatures on earth. 2. Hackers should be interested in the secret files hidden by systems compiled by some chinese or russian genius that know the main disability of ugly american programmers: They only know english.


Long live APL


After having used the german Delphi 7 online help for 2+ years, I was surprised how clear and precise the english version was when I worked in the US for 2+ years.

Although that is clearly an indication of a poor translation job, I nowadays check german contents against the source (which is english in most cases). I think the problem for translators is that they have to have a very good knowledge in two domains : the english language and the technology they deal with. It does not help you to have very good first and second language skills if you do not have a solid knowledge of the technology / product you are translating for.

Therefore, plain german translations from english just suck - because they are pure translations - you can almost smell the original english wording.

As a side note : I returned to using german expressions for my classes and variables after coming back to germany because the german language with its tendency to build chain words for technical terms helps me to express in detail what I really mean in my development domain (industrial machinery and automation). If there’s one word which really raises a red flag for me - that would be item. You can use that for almost anything you want and confuse the heck out of fellow developers.

So I don’t agree at all that (US-)english is the best language to document or to develop software in - quite the opposite I learned that the everyday US english language is fairly limited compared to UK english as it is (supposed to be) taught in germany.
If the average ugly american doesn’t believe me : please get hold of a serious UK newspaper and compare the depth of the vocabulary against your US newspaper of choice.

I believe the key of US-english software documentation success is : it’s the common denominator which most of the software developers have a good grasp of. Works for me !


I haven’t read all the comments yet so i’m not sure if i’m being redundant.

i’m german and it seems like we’re one of the few peoples that like to get EVERYTHING translated. the programmers work on an operating system with the language set to german, with all tools (if available) in the german versions.
it pains me to see just how many german programmers don’t speak english (well) and how many of them are looking for german sites when trying to find a solution to the problem.
if they google something (yes i said the evil word) they’re effectively discarding over 90% of the sites that might help them. if they’re looking to a solution for a reasonably rare problem they might discard the only results that are to be found.

personally, i don’t understand it. i also prefer to read anything programming in english and have all my tools in the english version. (which makes it REALLY hard to tell friends/family how to fix a windows problem… when you don’t know/remember thar properties is Einstellungen and what settings they have to click on next because they can’t translate my setting to german and it’s not immediately obvious to me either)



I switch from visual basic to C# because in every forums and tutorials of .net platform doesn’t exist help for visual basic developers.

and I prefered use the english languaje for documents and help for coding.



French and able to keep up with the few 100 words necessary for programming and talking about it.
And by the way, you can keep english as the de facto language for programming as long as you leave us french for love.


This doesn’t just go for software development but pretty much any software terminology. While living in Croatia, most university students (who had a good level of English) told me they couldn’t stand using a Croatian version of Windows?

Why? Because the translations of things like copy and paste sound so ridiculous in their language. English is a good language for adopting new words but many other languages are old and not able to adapt as well. If you have familiarity with other languages, just think at how difficult it is to translate the meaning behind everyday computer terms like windows, browser, keyboard (board of keys), menu, click, point etc.

In Chinese computer literally translates to electric brain and mobile phone translates to hand machine.


As a Mexican developer a good fluent English is a must-have. Here the only other option besides getting tech material in its the original unadulterated form is to get the Spanish version(by Spanish I mean from Spain not just the language).

For any Spanish people out there, correct me if Im worng, but there appears to be some sort of law in Span that obligates any Intelectual material to be translated to spanish ( Thats how Bilbo Baggins ends up being Bilbo Bolson and Luke Skywalker turns into Luke Trotacielos).
The low point of this is that Spanish is great for hooking up with female individuals, but it is most certainly not the best option for translating tech slang since it is 2000 words shorter than English.

Until today I haven’t meet a single great developer (non native speaker of course) how hasn’t embraced English as his second lingua-matter.


And a growing percentage of that knowledge can and should be available in your native language.

That may be true, but still, being fluent in English is incredibly useful whenever using the internet for, well, anything. For example, I’m a native speaker of German, so it’s natural for me to search in the German Wikipedia for anything I want to know. But more often than not, the English version of an article is much more up-to-date, informative and comprehensive than any other version, so I end up reading the English version instead of the German version. The same goes true for most UNIX/Linux man pages, the translated versions often lack critical information, so reading the English original is sometimes simply mandatory.

The same is true when searching for any technical problems on the net: When using English search terms, the count and quality of search results is nearly every time much higher.

In university (I’m a master of science in CS) they always told us that being relatively fluent in English is a very important skill in the software industry throughout the whole world, and none of us students questioned that. Many great books that were recommended to us are only available in English, or the translated versions contain just too many translation errors to be enlightening. We also could choose whether we wanted to write our bachelors/masters/diploma thesis in German or in English, both being normal choices.

I tried to use localized software for development in the past, but most of the time, it was a painful experience (barely understandable to non-understandable compiler error msgs, etc.), so I’ve given it up completely, and use the English (=original) version of every software (IDE/Webbrowser/OS/etc.) whenever I’ve got the chance. We also have the guideline at my current job that our sourcecode (including comments and SVN commit messages) should be 100% English whenever possible, because many of us (including me) think that it’s just more professional and makes the code more valuable, because most skilled software developers on earth know at least enough English to understand the code’s comments.

Also, there are more than enough great blogs that are only available in English, so I would recommend learning English to anyone that has any kind of interest in the computer sciences.

But I believe the rules are different for programmers. So much so that I’m going to ask the unthinkable: shouldn’t every software developer understand English?

Well, if you don’t, that can severely harm your career, at least in Germany. Don’t know about other countries, but as I said, they told us that it’s basically the same everywhere. Maybe except for France, the french are extremely in love with their language, and try everything to protect and save it. So possibly, the rules are different there.

In my opinion there is no reason to translate developer tools and documentation.

I second that completely, more often than not, the original version is incredibly much more understandable, up-to-date, concise and basically the only sane choice. So there are many developers (probably the majority) that just plainly ignore the translated version and use the original. I recommend this to every colleague, and most agree.

The only exception are technologies that are only relevant in Germany, for example, there’s a technology called HBCI that is being supported by many German banks for home banking, but only by German banks. So the specification and most of the documentation are only available in German. Also, another technology named ISDN is quite popular in Germany, but not very popular in most other countries. So much software, tools, documentation etc. are only available in German, too. But this are the only two exceptions that I know of.


I have to agree to this. I’ve come with a personal vision of what giving up my native language (Spanish) in this are meant to me. And it goes along the lines of someone who said This is not english, this is codish. We don’t go as far as the Finns to speak English among themselves, but when it comes to specific terms, they are always in english. Now, I don’t have much of a choice, I live in Washington. :smiley:


Great post! I’m from Ukraine and I have to agree with this.


Good :}


Very good man…



Great blog!
Interesing work!


I just listened to a podcast featuring the keynote from PyCon 2007. In it, Robert M. Lefkowitz discusses the Importance of Programming Literacy. He hits on this topic among others. It’s worth a listen.


Gravedigging or not, I have to agree with the OP.

As a German I could easily select from a vast range of programming literature translated into my native language, yet I always find myself ordering the English versions online instead of going to the next bookstore to buy a localised copy.

Part of the reason is that translations tend to be bad. Not stylistically, but some translators just don’t seem to be aware of the jargon involved and just translate variable names in text (without changing the code samples) or translate technical terms in a non-standard way. On the other hand almost all university-level programming courses seem to rely on a Germanised jargon, although I doubt any major research publications would be released German-only.

I always cringe when I see code with German variable names. Maybe it’s because I’m pretty fluent in English, but I just find it bad style to program in a local language. Comments, sure, as long as it’s an in-house, closed-source, small-scale project that’ll never be released to the public, especially when the application is so specific it has to borrow certain German terms (I’ve actually found myself using some German nouns in my projects when translating them just didn’t feel natural, but show_veranstaltungen() still feels more natural than veranstaltungen_anzeigen() IMNSHO).

One of the requirements for the university subject I’m studying (Informationsverabeitung, split into Linguistic Computer Science and Humanties Computer Science) is literacy in English, the other is literacy in at least one other European foreign language (mostly because it’s dealing with linguistics). Nevertheless, most programmers I’ve met are not exactly fluent in English. OTOH, most of the GOOD programmers I’ve met are.


I don’t think you realize this, but English originated in England. This is probably why everyone thinks American is stupid.


The world’s English mania: Jay Walker


(5 minute Flash video of a TED presentation)