a companion discussion area for blog.codinghorror.com

The Ugly American Programmer


what second language would provide the most added value for you as a developer?



There is a rational seed in this article. But I can’t agree with all. I’m Russian, and yes, my English is far from fluent, and yes sometimes documentation in English is much cleaner and readable than translated…
But what about the medicine - Latin was and still is a must know language for all doctors around the world, a lot of terms and speech tokens are from Latin, but medical literature is written in national languages nowadays.
The more national community of programmers is, the more native language resources are helpful. I personally know a lot of good Russian programming knowledge sources over the Internet, nicely translated books - nevertheless I admit that modern developer is to know English (may be not excellent, but having a good skill level is a must)…


Most non-native English speakers here made the point at that speaking English is necessary for hackers. But are there anyones not speaking English willing to give their opinion?
Oh yes, they probably do not read this blog, so they are not true hackers :wink:


It is a good idea for any industry to use an agreed upon standard where security and critical functionality are at stake. It is not racist or egocentric to argue that programming should be taught, documented, and discussed in English. All the World’s air traffic control is in English for this reason. All pilots, navigators, and traffic controllers speak and work in English if they did not safety would be compromised. With computers taking over more and more control of the essential systems in our world infrastructure a standard needs to be adopted regarding communications in software and English is the obvious choice.


as someone who doesn’t speak English natively, I agree that, as a programmer who wants to improve his/her skill, it’s important for one to master, or at least able to read, English. because, like everyone above had said, most of the resource material is written in English.

but if you’re a starter, who just start to learn your first programming language, I still think that the best material for you should be written in your native language, with one caveat, it shouldn’t try to translate technical terms. it should just explain the terms, without trying to translate it. because in current condition, by translating technical terms, actually you’re alienating your self from the crowd. in fact, the book that make me fall in love with programming is written in my native language, but the way it present the material just keep me more and more interested to programming.

but in my opinion, if you are REALLY born to be a programmer, language shouldn’t really be a problem for you. because most, if not all, programmers will learn more than 1 programming language during his/her career/life as a programmer, unless you’re living in an utopian world where one programming language can solve all computing problems, or you just working on one very specific problem. so basically, language, either human or programming ones, are just ways of expressing things. some can be very flexible and powerful, and others can be less expressive and less powerful.

just my 2 rupiah :smiley:


Another German here. English has been, rightfully (by convention, not merit), mandatory for comments and documentation in every company or project I’ve ever worked with. I hate nothing more than localized systems (php.net, I’m looking at you! When I use a search shortcut, I don’t want you to use a localized version, because my IP says I’m in Germany, my browsers tells you that I want English and nothing else). I can’t really remember when I’ve last installed a localized version of anything either, aside from the keyboard layout, which is a non-issue on my main PC (Das Keyboard), but is irritating if not corresponding to the labels, so I tend to stick with de-latin1…


Agreed. There’s no point in trying to build C++ in French, you’d need to build a language in that language from the ground up.
I’d imagine the reason this hasn’t been done is because there’s no serious desire to do it.
Besides, programming isn’t in English, it just uses English as its base. Static has a completely different meaning in programming than any English dialect. const is considered a real word. Hell, look at the meaning of the word String.


I agree.

Hebrew is written from right to left, so it would be a real headache to document code in hebrew.

When I was a student I once wrote a programming language in hebrew, but it remained as a joke between friends and did not enjoy popularity.

When we talk about programming I prefer consuming and producing English, also for documentation, specifications, blogs, comments, etc. Don’t feel bad about that.


I can confirm English is important as dev language in our russian-speaking company.
When discussing programming, we use english terms, not proper russian translations, cause it simpler, shorter and easier to understand - not all people even know proper terms in russian.

And yes, same as German commenter above, when reading russian books on development, I need to translate some terms in English in my head to better understand what’s going on.
Cause alternatives to postback, viewstate etc are truly horrible and lengthy.


English is a bitch to translate into Portuguese, due to its specificity.


I though lolcat was.


I guess it would be even more difficult for non-native English speakers who grew up with a language that doesn’t use the Latin alphabet.


An article in English being read by people who know English? It’s not surprising that most people here agree with you.

As Marie Antoniette said, Let them have cake.


Ha! If we wouldn’t let have the English take over New York a few hundred years ago, you’d all be speaking my native language (Dutch).

I have worked for customers who demanded that all our source code (class names, method names, comments etc.) was all written in Dutch.


This is what you would have been writing:

gebruik Systeem;
naamruimte TekstvensterToepassing1
klasse Programma
statisch leeg Hoofd(tekenreeks[] argumenten)
Tekstvenster.Uit(Hallo Wereld!);


This isn’t the ugly American. There are a few other countries out there where English is the main language.


There is a reason why Chinese Python exists:


Remember the times when localization of applications and having i18n built into your app was considered laughable?


English as a set of words for instructions and function names is as good as any other language.
It’s the standard, so be it.

However concepts MUST be translated in ANY native language existing on Earth and beyond.

Because then you learn them several times and you get a different understanding each time.
Yes, it’s harder. Yes, it takes longer.
But the reward at the end is becoming a richer human with deeper thoughts.

It’s like being bilingual.
If you learn one concept in english and the same concept again in portuguese you do understand it better because you got two point of views about it.

The books and documentations we’re talking about are usually very poor to explain concepts and abstractions.

It’s only my opinion of course. There is no truth here.


Oh, tired, tired cliches!

In the first place, Americans do not speak English. We speak American. Notice the differences between UK/Australian English and American (color/colour, restroom/loo gas/petrol).

In the second place, I haven’t met as many native-born Americans that were anything past toddler-level literate in English, American, or anything, as I have met foreign-born citizens who could speak and write flawlessly. Americans may yet standardize on 1337TXT text-message language before long, judging by the battle against illiteracy that we lose (NOT loose!) every day.

In the third place, (don’t tell the bigots!) English is actually derived from West Germanic, and borrows a sizable chunk of its vocabulary from Latin, Greek, Sanskrit, and French. So English is actually kind of an amalgam of Western world languages, and it is thus very appropriate that world communication technology would standardize at least partly upon it. But don’t forget about Asia!


@martin The best part about English is that it is a mongeral language. It has been influenced by many, many languages and has retained a word for almost everything, where each word has a unique meaning. There are many words that are in English but not in other languages. Therefore, it becomes vastly more descriptive than almost any language. And what happens when there is a term not used in English but is used in other languages? It’s normal to add that word straight into an English sentence as is. I think that’s Uber flexible.

What’s more, for all the complexities of English, it can be distilled into a very small subset of English (International English), that can is simple to learn and use to conduct almost any communication between people who don’t speak English natively.

This is one of the reasons that this has become the language of commerce in places like Asia. I studied with Indians who say that English has been one of the most handy languages to know when traveling through India! You don’t need to know much to communicate in English.

It’s these two reasons, capability to describe almost anything and capability to be distilled into a simple form, that have pushed English forward as the lingua franka.

Also, I’m not dismissing the US influence, but don’t forget it was the English that had an empire so large that the sun litterally never set on their soil! It was the English that spread their language to every corner of the globe, but I agree that the US culture has been the promoting force in the last century.