Shouldn't Every Developer Understand English?
Pickens writes "Jeff Atwood has an interesting post that begins by noting that with the Internet, whatever country you live in or language you speak, a growing percentage of the accumulated knowledge of the world can and should be available in your native language; but that the rules are different for programmers. 'So much so that I'm going to ask the unthinkable: shouldn't every software developer understand English?' Atwood argues that 'It's nothing more than great hackers collectively realizing that sticking to English for technical discussion makes it easier to get stuff done. It's a meritocracy of code, not language, and nobody (or at least nobody who is sane, anyway) localizes programming languages.' Eric Raymond in his essay 'How to be a Hacker' says that functional English is required for true hackers and notes that 'Linus Torvalds, a Finn, comments his code in English (it apparently never occurred to him to do otherwise). His fluency in English has been an important factor in his ability to recruit a worldwide community of developers for Linux. It's an example worth following.' Although it may sound like The Ugly American and be taken as a sort of cultural imperialism, 'advocating the adoption of English as the de-facto standard language of software development is simple pragmatism, the most virtuous of all hacker traits,' writes Atwood. 'If that makes me an ugly American programmer, so be it.'"
... notes that 'Linus Torvalds, a Finn, comments his code in English (it apparently never occurred to him to do otherwise).
I thought I had read/heard somewhere (might have even been the documentary Revolution OS) that Finns & Swedes grow up with English Sesame Street available to them and as a result many of them are bilingual from a young age.
I've also ready that being bilingual or a polyglot is beneficial to thinking and memory skills. So I would caution thinking that because Linus Torvalds chooses comments in English for any reason other than more people speak it than Finnish. I would also caution you to assume that Linus learned English in order to increase his hacking skills. And I might even be inclined to argue that Linus' bilingualism aided or enabled him to reach such great heights with programming languages.
After toying with tools like ANTLR, it's not too far of a jump to say that understanding another language (even a dead one like Latin) helps you understand that information & logic can be portrayed multiple different ways with different vocabularies & grammar rules. Thus priming you for many software languages.
I cannot attest as to whether or not English buys you anything over Russian or Chinese as far as resources available on the web but I will argue that someone who has Russian as a first language and Chinese as a second will most likely be better off to code than someone with merely English as a first language (Disclaimer: I am the latter).
'advocating the adoption of English as the de-facto standard language of software development is simple pragmatism, the most virtuous of all hacker traits'
I don't think that makes you an 'ugly American programmer' but I sure do think it sets you up for some surprises in life.
My work here is dung.
...use English. Working for a firm that did medical education for Saudi Arabian doctors and nurses, everything was written in English - the default for the medical community. We had to be careful not to write above a 6th grade level, though, to reach the widest audience.
I've seen a little discussion of this around the net, and I've talked to my own friends and colleagues from France, Korea, India, Brazil and China (just the sample I happened to have available). The most surprising thing to me is how NON-controversial this is. American programmers tend to feel a little sheepish about it, but the programmers who have to learn English in order to do their jobs effectively are -- from what I've seen -- absolutely matter-of-fact about the issue.
I've even noticed an interesting phenomenon that, while far from universal, is also not all that rare: programmers who share a common non-English first language using English among themselves to engage in technical discussions. When I pointed out the oddity of that choice, I was told that even if they used their native language (Portuguese, in this case), that the conversation would be peppered with English words anyway, so it was just as easy to use English for the whole discussion. And why would the discussion be peppered with English? Because there's less agreement on the appropriate choices of Portuguese words for particular technical concepts, so the English terms are more precise and better-understood.
Just last week I was speaking with a Korean developer and I was trying very gently suggest that it would be better if she commented her code in English, not Korean, because we have an international team and English is the only language we all have in common. I expected somewhat-grudging acceptance of my point. What she actually expressed was extreme embarrassment; she was quick to point out that she didn't write *any* of the Korean comments in the codebase and that she was very surprised when she saw them. In her mind it was a surprise that any of her fellows would comment in anything other than English. She was embarrassed because she hadn't yet managed to translate them all to English.
And even those who wrote comments in Korean chose English class, method and variable names, which is another definite trend that I've noticed. Perhaps it's just so that the names read well with the English keywords, but in my experience it's pretty rare to find non-English names, even when all of the comments and documentation are in another language.
Anyway, bottom line is that this seems to really be a complete non-issue. Programmers work in English, and there's no significant disagreement on the point.
Note to ACs: I usually delete AC replies without reading them. If you want to talk to me, log in.
I'm Russian, and computer languages with Russian keywords look very awkward to me.
First, there's a problem with grammatical cases ( http://en.wikipedia.org/wiki/Grammatical_case ). A lot of languages with Russian keywords suffer from it (1C, I'm looking at you!).
Second, Russian words are usually longer than their English counterparts.
Third, Russian keyboard layout clashes with some useful characters (keys '', '[', ']', ';', '"' are used for Russian symbols). And I can't remember a language with less letters than English :)
Of course, some of these objections may not apply to other languages.
Wrong. I work in a French bank, and our contract management system is written in a French programming language: The variables are in French, the comments are French, the function names are in French, the operators are French... For example, "if" is "si". It's unbelievable for outsiders, but this is real.
In my time in Paris (only a week), I didn't meet a single person who spoke English outside of museums or stores close to them.
That's quite likely. I doubt you met anybody who couldn't speak English, but you would meet a lot who didn't. Especially in the holiday season. When I was working in Paris I found that almost everyone spoke English until the tourists arrived, and then nobody did.
Quidnam Latine loqui modo coepi?
In other words the French are rude
Oh, you have no idea.
Being Canadian, I was forced to take French in high school, so I can read it fluently and converse somewhat.
However, my "French" has a strong Québecois accent. On the French I-spit-upon-you scale, that makes you more of a target than even Algerians.
By day 3 of my first visit to France I decided I'd get along with the natives much better pretending to not speak a word of French.