"Whatever country you live in, whatever language you speak, you have the same access to the accumulated knowledge of the world as every other citizen of the planet Earth. 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?"
When I've heard programmers criticised for the "ugly american" behavior it is not about the use of english as a technical lingua franca. The ugly american programmer is one who embeds english chauvinism into the user experience of their software. This includes lack of unicode support, and support for locales and internationalization.
I should also note that being a native speaker of the English language does not automatically make one able to write coherent technical documentation in English. Unfortunately.
Being Danish I can attest that this is very true - I write my code-comments in English, my business plans in Engish and do my financials in English. Even my blog is English.<p>It just makes it easier to communicate, and I've never met a Dane that complained about it.
I am suddenly reminded of how, after a few months studying in an Israeli religious school, I switched my note-taking from English to Hebrew--not because I was terribly fluent in Hebrew, but because the books I was studying (canonical Jewish texts) were in Hebrew and Aramaic, and the terms used to refer to concepts in them were Hebrew, and it was just easier to write everything in Hebrew than to think about how to translate or transliterate all the vocabulary into English. Especially since the equivalent English words all took longer to write.
I live in India and my native language is Hindi, yet I mostly use English for communicating over the web. If I had to explain even a slightly technical concept (say, a simple data structure) to someone in Hindi, I wouldn't know where to begin.<p>Given a choice, I'd always pick English over Hindi as my language of choice, not because I dislike Hindi, but because I'm much more comfortable with English. Why? Because I read books written in English, read English newspapers, watch English movies and TV shows and read a whole lot of technical content written in English. Thanks to the American tendency of "exporting" their culture, English is all I've been exposed to (and I consider it a good thing).<p>In real life, most (educated) Indians speak a mish-mash of English and Hindi. Modern Hindi itself is a mish-mash of words borrowed from Urdu, Farsi, Punjabi etc. It's actually pretty liberating, being able to express yourself without even having to stop to think <i>how</i> to phrase a sentence. Can't complete a sentence in Hindi? End it in English.
I'm Turkish and I have to agree for the most part.<p>Technical CS terms in Turkish get invented by a handful of academics. Since this is a pretty close knit community, the jargon does not get socialized very well and leads to unwieldy, inorganic words. I don't live in Turkey, so I pretty much don't have a chance in hell of understanding Turkish CS speak.<p>That said, there might be some language communities out there, large enough to be self sustaining. Chinese seems like a good candidate. The fact that there is a Chinese clone of Atwood's Stackoverflow also supports this: <a href="http://news.ycombinator.com/item?id=537246" rel="nofollow">http://news.ycombinator.com/item?id=537246</a>
From the Python style guide (PEP 8), on comments:<p><i>Python coders from non-English speaking countries: please write your comments in English, unless you are 120% sure that the code will never be read by people who don't speak your language.</i><p>And that's for all code written in Python, not just the code that goes into Python. Guido is Dutch.
Open a 400 person coding shop in Ningbo and try to get everyone there to write in English, or even understand it. Good luck with that.<p>Working in markets with large numbers of non English speakers is quite difficult, as the article implies. Very profitable though. Chinese people like games as much as we do, and they will actually pay for them!!!
This really doesn't need discussion. English is simply the language for science and computer stuff, just as latin used to be in the past (not for the computer stuff, but for science).
<i>The overwhelming majority of programming languages use English keywords</i><p>Can anyone tell me any programming language which doesn't use english keywords!?!<p>English is the common language of communication throughout the world, and consequentially the effect has percolated into the hacker world too I guess !
This post gives me the overpowering urge to write a rebuttal in Japanese just to prove that an American can.<p>Let me hum a few bars: if your customers don't speak English, and your colleagues don't speak English, and your business partners don't speak English, then your refusal to use languages other than English <i>cannot be justified by it being efficient</i>. It is hubris to think otherwise -- an arrogant sort of laziness of thought which is entirely different from the productive laziness that programmers generally cultivate.<p>A programmer who cannot talk to his colleagues and customers, and blames his inadequacy on them, is a failure at his profession : writing code which <i>solves problems for people</i>. If you only get as far as "writing code" without understanding the people and their problems, congratulations, you fail.<p>On the plus side, the prevalence of attitudes like this means you can do pretty well for yourself if you're bilingual. I got stopped on the train today by the guy who got me my current job (random coincidence -- we live in adjacent small towns). He started the conversation like he always does "Hey, Patrick, how's work? Say, do you know any bilingual engineers looking for employment?"<p>This week apparently its an aerospace project that needs them. Its always something -- there's hundreds of billions in trade happening between the US and Japan every year, huge portions of it are high-tech, and engineers here are only marginally better at speaking English than engineers in America are at Japanese. (In my experience, though, they're not aggressively proud of being ignorant.)
"Ideally we would all use Esperanto - that's the future! Ah well."<p>To disagree with this comment from Jeff's blog, see<p><a href="http://www.xibalba.demon.co.uk/jbr/ranto/" rel="nofollow">http://www.xibalba.demon.co.uk/jbr/ranto/</a><p>English comes by its huge network advantages honestly. All four of my grandparents were born in the United States, but three were born in households in which a non-English languages was spoken, and two were educated entirely in another language (German). Everybody learned English, and that was no big deal. The majority of Americans have ancestors who didn't speak English before they arrived in America. English is by no means perfect, but it is pragmatic, as Jeff says.
just posted my rebuttal <a href="http://odwks.com/2009/03/mandarin-chinese-programmer-communites/" rel="nofollow">http://odwks.com/2009/03/mandarin-chinese-programmer-communi...</a><p>The HN post is here <a href="http://news.ycombinator.com/item?id=539276" rel="nofollow">http://news.ycombinator.com/item?id=539276</a>
Wow,Jeff Atwood sure knows how to state a position that the vast majority will roughly agree with yet still position himself as champion of a controversial position. He's not necessarily an "Ugly American;" I think simpleton is more to the point.
True, but it's a temporary situation. As an old teacher used to say: you could wake a medieval scientist in the middle of the night, and he would probably curse at you in Latin. Same holds for present day scientist and engineers (myself included), only they would curse at you in English.
Eric Raymond:
<i>it was reported to me at the time that English has a richer technical vocabulary than any other language and is therefore simply a better tool for the job</i><p>Or probably English is simply the most easy to learn.