The Ugly American Programmer

There are also other issues with commenting in your own language, for example when trying out Python for the first time, the interpreter threw me out for having strange characters in my comments.

I would even go so far as to claim that english and other non-case languages hold an advantage for those who speak it, since it allows for more flexible though patterns. This, of course, is an advantage to any hacker. You might event claim that english is an hack-like language in it self, scavaging word and sentence-structures from other languages to create a flexible framework with a large vocabulary base.

If you go to France it’s generally expected that if you want to communicate with the local population you’ll need to know some french.
Going to France and expecting everyone to speak your native language for you is your ‘ugly american’ concept.

If you want to communicate with hackers then it’s expected that you’ll know some English. Expecting to be able to communicate with hackers in your native language is ugly.

P.S. There aren’t many things as frustrating as poorly translated software :stuck_out_tongue: Whenever possible I have the English version (usually the original language), be it OS or any application.

I’m American myself, but I have several friends who live across Europe who are not native-English speakers who tell me that it is easier to program in English, for some of the exact reasons that were previously iterated (documentation, universality, translation errors), and I’m glad that the feeling seems to be fairly mutual already amongst a lot of the programming community. I can think of several examples from the CakePHP mailing list where someone who does not speak English natively, will still try their hardest to get their point across in English, so that they will be able to reach out to the largest proportion of the other receivers of the mailing list, and their issues are answered in a clear and concise manner.

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…

How many of those do you use when talking (in English) to grandma ? Such words are so disconnected from the non-computer world. We don’t speak English, we speak Codish, or Computish.

Grandma speaks English, but she ain’t able to follow your blog.

My USD 0.02

I have worked in Japan for 8 years and although I know many very excellent programmers here, and most of them do NOT speak English. They generally do not look through English documentation even though they can read it fairly effectively, and funnily enough, they get by…
I disagree that English is a prerequisite to competent programming

Yeah, what Maximilian said… same here :slight_smile:

I think most will concur with this post.

Absolutely. Stating the obvious here. I think the emergence of an international, internet-borne version of English (not US or UK or any other national variant) is a far more interesting development.

While you ugly Americans couldn’t get your oar in fast enough to get the world speaking your language, You still managed to make the de-facto standard your bastardised [sic] American English

:wink:

I remember VBA had been localized. That wasn’t MS greatest success…

Esperanto wouldn’t do the job for the reasons articulately pointed out in

https://web.archive.org/web/20050217093244/http://www.xibalba.demon.co.uk/jbr/ranto/

This diatribe may be articulate, but it is also full of straw men and red herrings; see http://claudepiron.free.fr/articlesenanglais/why.htm for reasons why this is so. Esperanto not only would do a brilliant job, but actually does a brilliant job, within its sphere of influence of around 2,000,000 speakers worldwide. For more information, see http://www.esperanto.net/info/index_en.html.

@Sean, I suspect Jeff’s train of thought for this post started somewhere around there :slight_smile:

I am native English, work in French-speaking country with French-speaking colleagues. We all code in English, variable and class names always in English, most comments in English. Invariably use English words for technical terms (albeit with French pronociation).

You strike a good argument…

What about all those Chinese coders? :wink:

I’d agree with Leonel. You might think programmers are speaking English, but are they?

I’ve come across a very similar situation from a relative who works for the European Union (EU). English is used at the watercooler for a huge proportion of the conversations. However, the English (as in from England) found themselves at a disadvantage. Nearly all those who learnt English as a second (or third or …) language would choose the same word for the same idea. The British would vary between synonyms, and so as a result actually spoke Eurenglish worse than their contemporaries from other countries - worse from the measure communicating effectively. Complaining doesn’t help, you are there to communicate so they had to relearn English.

I’d argue that to be an effective programmer you need to communicate effectively in an English based dialect, but like the normalisation of tags in Stack Overflow, the restriction might find native speakers disadvantaged.

Already as a British English speaker when talking about programming I have to remember to type Color instead of Colour, and Americans with a rich grasp of the language might find this actually hinders them.

As a non-native English speaker, I would have to agree with you. I am from Nepal and we were lucky to have an education system that understood the importance of learning English (or it could have been the influence of the British or the fact that Nepali does not have a substantial global presence like Japanese or French or Spanish). As a result, we learned English along with Nepali since kindergarten. Technical terms in Nepali were very tough and having gone to an English medium school, we were taught everything in English. I am not sure if this is true for other countries but you can see how having a programming language and documentation localized would create problems for someone like me. Having a rule that English should be the De Facto language is similar to being in a situation where having a global variable in your program is the easier way. It’s dirty and you feel horrible but the other option makes the problem unnecessarily complicated.

I live in a non-English speaking country myself and I totally agree that every developer should speak English. That doesn’t mean that we should also write (and comment) code in English. Sometimes it’s better to write the code in the terms the customer uses.

It would seem, on the surface, that since everyone has their own native language and most likely prefers it that this would be a controversial subject.

However, it really isn’t. This is because programmers tend to think based on logic, not emotion. The question is not Which language is better?, nor is it Which language do I like?. The question is Which language will ultimately help me reach my goals?. As it happens, that language is English. It has nothing to do with the merits of English as a language. It’s just the current state of affairs.

I have to agree with Gareth etc, everytime I write color or center I get a horrible urge to go and stab the compiler until it corrects itself and uses English. I think the most frustrating chore is changing s to z as in serialize etc, it’s tiny but having been brought up to speak proper English it drives me nuts to have to bastardise my own language and have it called English.