The Ugly American Programmer

While the good things about using english in programming that were mentioned in the article and comments are true, the premise doesn’t follow. There is no reason to ‘advocate’ English. English in programming or elsewhere is not defended by linguistically illiterate advocacy but by the large body of cultural artifacts that have been created in recent history using that language (i mean the term ‘cultural’ to be as wide as possible, covering even technology). Of course one can recommend another to learn English as a very useful and necessary skill today. But one cannot recommend that, as a broad and international social class as hackers are, we choose to adopt a language, even if it’s based on a realization of a de facto condition. Languages are constantly changing and it’s up to the individual to decide if he can express himself in one or the other language. Just are there are many reasons for a non-english language native speaker to use english there are many reasons for him not to (they are obvious) but what’s important is that individual decisions change the weight of these reasons. So, if for example I decide against using english to comment my code for individual reasons I am going to enrich my language in the process. Part of the reason people find it hard to translate technical documents in their language is precisely because they very rarely try it. Of course, they aren’t to blame for that since they are encouraged by real linguistic phenomena that relate to the richness of the English language, but there is no reason to artificially encourage them even more. That is kind of like a subsidy to the English language.

Yes, every software developer who cares about his/her career should understand English. You can stick to your local market but this is a low ceiling for your career. In the outsourcing arena you must be able to speak to foreign customers and partners. Communicating well is part of our skills as developers (does anyone still think it is only about how technical you are?).

Besides, if you want to be respected as a programmer, you must write code that is not only well designed but also understandable by other people. It’s not like we get a living from obfuscating code (at least we try not to :). I live in Brazil and if I ever write variable names or comments in Portuguese, it is on personal/practice code only, unless this is a project requirement (it hardly is).

My first contact with a computer was like 14 years ago. Everything has always been in English since then, from games to programming languages to decent Internet sites. Whatever the common idiom is, a standard is necessary, and if the current standard changes, we all will have to get used to it.

So let’s do our best to improve our English skills and make ourselves understood. :slight_smile:

Everyone trying to advocate Esperantos should just give up - it’s too late. Maybe when English dies, you can try again.

I totally agree with the author that programmers and developers should be well versed in english to understand the documentation and articles. Some terms can be very well described in a particular language and computing theory is difficult to describe in any other language than english. I’ve seen people coming with horrible words/phrases to describe computing terminology in their native language which if we hear we’ll definitely laugh. One place in software where native language is suitable is for the end users of your application who are not programmers. They will find it easier to use the application if it’s in their native language rather than in english. Although such inclination by the end users is also reducing now a days in come Countries.

Esperanto is work in progress, pre-alpha (only 120 years). When English dies, it’ll be still up and running so that people may use it and enjoy its simplicity. It’s almost like a programming language, because it’s grammar is very logic, without weird (natural) exceptions (for each letter - one foneme, etc).

I’ve decided to program only in Esperanto, from now on. For me, it’s just fair enough.

The existence of a lingua franca is very useful, but the fact that it became English of all languages is somewhat disappointing to me.

The innate qualities claimed for certain languages have more to do with a cultural bias than with the language itself. These cultural biases are ever changing.

In the late 18th century, the French were thought of as a very rational, decisive people, so the French language was considered a very rational, decisive language, supremely suitable for scientific and technical publications. At the time the German people were thought of as a weak, ineffective bunch of philosophers and hopeless romantics, so the German language was considered to be suitable only for poetry and philosophy. Certainly not for suitable for real men.

Of course times changed, as Germany was united in the 19th century and emerged as an industrial powerhouse, while France declined, the perception of the two languages switched place. Two great wars later, and it has changed even further. The language of Goethe and Kant is now widely considered to be cold and harsh, suitable only for loudly barking orders.

Such dramatic shifts in presumably innate qualities of two languages that haven’t changed very much at all in the past 200 years!

I know it is completely impossible for native English speakers to imagine this right now, but the qualities you consider to be innate to your language are not innate at all, but merely a perception reflecting the current power and influence of your culture. A power and influence that is already declining! As Asia inevitably reemerges as the center of human civilization, this perception will likely change. Probably not in our lifetime, so in the meantime it will remain necessary to master your impossibly complex language, with its unintuitive and very much non-phonetic spelling, its inflexible syntax and sparsity of phonemes, and put up with having one’s qualities judged primarily by the way they speak English, without the slightest consideration for how bloody impossible it is to attain native level fluency!

The suggestion for english-only programming is a bad one. The reason to refute it is just one word: monoculture.

People say don’t use Windows, it’s monoculture, everyone uses it and all hackers attack it and so malware wreaks havoc on it. If there were six or so major PC desktop OSes, with 15-25% market share each, the cybercriminals would have to fight in a fragmented space, with much less return of investment and without any chance of a global epidemic outbreak.

Similarly, english programming monoculture hurts, because all coders will think the same enrish-logic way. English, especially the american english variety is a very simplistic language, so coding in english will make your product brutally simple, therefore unsuitable for more complicated tasks.

The japanese are much ahead of the world in robotics, which suggests their culture and language, with a strong emphasis on diligence, cooperation, obedience and senior-junior relationship is better suited for creation of artificial humanoids. If you force all robotics programmers to think and code in english, it will take a good 1000 years to get those fusion-powered miniskirt catgirls you dream about.

Similarly, chinese and russian programmers are leaders in malware development, which suggests their language and culture is better suited for translation their violent and often terribly bloody history into combat bytecode. I mean what is the significance of ruthlessly wrecking a few servers compared to tens of millions of war dead?

and France, interviewers, doctors, Nba’s etc, you are lucky if they barely express themselves!

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:

http://nullrend.com/2009/04/02/el-programador-gringo/es/

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

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,
connection…

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.