

The Ugly American Programmer - worthlessgenius
http://www.codinghorror.com/blog/archives/001248.html
"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?"
======
kurtosis
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.

~~~
nitrogen
To my knowledge, this is a subject that is rarely if ever covered in US
schools (I don't recall seeing anything related to software
internationalization listed at my university). I'd suggest that those who want
to promote translatable software start by encouraging schools to teach their
students how to externalize strings, deal with wide characters, etc.

~~~
jmtulloss
I disagree. How to do localization is usually pretty straightforward, so why
teach the APIs? There's barely enough time to communicate a basic
understanding of complex systems to students, teaching them localization is a
sideshow.

Anybody who wants their program to be used in another country needs to
localize it, and that point, a simple Google search is enough.

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

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

It just makes it easier to communicate, and I've never met a Dane that
complained about it.

~~~
mpk
Same here. English is not my native language but I just do everything in
English. Code, documentation, blogs, requirement docs, etc. Really,
everything.

Is this even remotely controversial these days?

~~~
wheels
I don't think so within the EU (perhaps in France ... chuckle), but I suspect
it'd be more problematic in for instance Japan, Korea or China.

~~~
tokenadult
_I suspect it'd be more problematic in for instance Japan, Korea or China._

Linguist David Crystal, who has surveyed world use of one or another
"interlanguage" for official use by international organizations, has found
that actually most frequent and most exclusive use of English as an
interlanguage is in east Asia. It is remarkably "natural" for a Korean person
to try speaking English to a Japanese person (even though Korean and Japanese
are cognate languages), and it is more expected still for a Chinese person to
speak with either of them in English. What I find remarkable, but have
observed more than once, is speakers of different Sinitic languages ("Chinese
dialects") speaking to one another in English. Online, which is mostly the
context Jeff is talking about in his blog, the early inconvenience of typing
in the CJK languages (now resolved, as an in-country issue, but still a big
barrier to switching among those languages) resulted in much Internet
communication in east Asia being in English by default.

After edit: France was mentioned in the reply above to which I reply here, and
I'll mention that the Carrefour retail chain has stores in Taiwan, and the
signs inside the stores are in Chinese, of course, but also in English, NOT in
French. There is no reason of national pride among the Carrefour staff
sufficient to overcome the practicality of using English to reach customers in
Taiwan. (Taiwan has a large population of English-speaking foreigners, the
plurality of whom are Philippine guest workers.)

~~~
wheels
Is that most frequent per capita or total occurrences?

At least with the limited contact I've had with Chinese and Japanese
developers the level of English wasn't particularly high, so I guess I'm a bit
surprised by that. In the Chinese teams they even went as far as to try to
suck in someone from Hong Kong so that he could be the bridge between the
Chinese and German (the team I was on, though communicating in English)
groups.

~~~
tokenadult
Replying to your reply to my reply to you, my main point is that if a Korean
is with a Japanese person, they MIGHT speak Japanese (I have seen that
happen), or they might speak Korean (I have seen that happen more rarely), but
most likely they would speak English with each other. Add a Chinese person or
a Thai to the conversation, and it is overwhelmingly likely that they will all
be speaking English to one another. The standard of spoken English varies from
one country to another in east Asia. One problem is that many of the better
English speakers eventually emigrate. But English is the general language of
intercommunication among people from Asian countries, for lack of any other
language in which speakers have stronger proficiency that they all speak.

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

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

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

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 _how_ to phrase a sentence. Can't complete a
sentence in Hindi? End it in English.

~~~
chancho
"Thanks to the American tendency of "exporting" their culture..." Oh come on,
surely the British share some of the responsibility there, if not all of it.
Last I checked, we haven't yet liberated* India, so if Indians consume
American media (movies, books, music, etc) then they are actively importing
it, by their own choice. And its not like you don't have alternatives in
India, with its thriving native entertainment industry.

Some countries don't have native content-producing industries, and so you
could say that the importing of foreign culture squashes these industries
before they can develop. On the other hand, keeping it out is basically
censorship.

(* This ironic use of the work "liberate" is a sick joke that I'm not proud
of, but it does sum up the cynicism most brain-holding Americans feel about
their government's foreign policy.)

------
mustpax
I'm Turkish and I have to agree for the most part.

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.

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:
<http://news.ycombinator.com/item?id=537246>

------
etal
From the Python style guide (PEP 8), on comments:

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

And that's for all code written in Python, not just the code that goes into
Python. Guido is Dutch.

------
lucumo
Has this been inspired by CNprog.com?

------
biohacker42
_why I gave up Visual Basic for C#, as painful as that was._

No Jeff, working in VB is painful.

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

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!!!

~~~
jonknee
> Chinese people like games as much as we do, and they will actually pay for
> them!!!

Yes, the Chinese would never pirate software!

~~~
bilbo0s
They pirate plenty of software, including games, but they pay big money for
the virtual goods you sell inside the games!

------
Tichy
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).

~~~
verdant
Another example of this would be in music composition where Italian is the
language used (to describe tempo, dynamics, etc.) regardless of native tongue.

I'm not an expert, but I would suspect there many disciplines have a language
that is commonly used, and it so happens that Comp Sci happens to be English.

~~~
whacked_new
I don't think it's that straightforward. Loanwords happen overwhelmingly with
vocabulary, and not grammar. While this is obvious, the implications are thus:
the closer to script of the origin language to the borrower language, it is
exceedingly easy to take the target word wholesale. Since the grammar is
relatively stable, you can easily make the case that the loanword, whose
_origin_ is language X, is no longer language X, but language Y, the
borrower's native language.

That is, words like "tempo," "crescendo," and "forte" are Italian in origin,
but who's going to say, no, they're not English? They're native enough.

Now, let's take a discipline with non-English terms. Take Go for example.
There are many terms in Go that are shared between Chinese, Japanese, and
Korean schools. They can be written similarly in hanzi/kanji/hanja, with two
catches: 1., the same characters are read differently in different places; 2.,
Westerners, using exclusively the Latin alphabet for their native needs,
cannot read the hieroglyphs.

The result? What term should English speakers use? Pick one! Which one?
Whichever! For Go, the Western world picked Japanese. You have ko, moku,
seki... So which was the common language? There are now two answers. First,
there was a common _script_ , which was Chinese characters. Second, there was
a commonized _pronunciation_ , which came from Romanized Japanese.

It's not a "so happens to be" thing. It's a speed and scale of adoption thing,
and in this way it is a "majority wins" game. And here, the winner is the
Latin alphabet. To come around, I would suspect there are few disciplines that
do not turn into a Latin-alphabet-standardized-, and in effect, English-,
field.

------
vinutheraj
_The overwhelming majority of programming languages use English keywords_

Can anyone tell me any programming language which doesn't use english
keywords!?!

English is the common language of communication throughout the world, and
consequentially the effect has percolated into the hacker world too I guess !

~~~
sethg
_Can anyone tell me any programming language which doesn't use english
keywords!?!_

APL?

~~~
pmarin
There are lot of dialects of LOGO in other languages than English

------
patio11
This post gives me the overpowering urge to write a rebuttal in Japanese just
to prove that an American can.

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 _cannot be
justified by it being efficient_. 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.

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
_solves problems for people_. If you only get as far as "writing code" without
understanding the people and their problems, congratulations, you fail.

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?"

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

~~~
bdittmer
Did you read the article? He's talking about internal engineering efforts, not
gathering requirements and general interactions with the customer.

------
tokenadult
"Ideally we would all use Esperanto - that's the future! Ah well."

To disagree with this comment from Jeff's blog, see

<http://www.xibalba.demon.co.uk/jbr/ranto/>

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.

------
jhancock
just posted my rebuttal [http://odwks.com/2009/03/mandarin-chinese-programmer-
communi...](http://odwks.com/2009/03/mandarin-chinese-programmer-communites/)

The HN post is here <http://news.ycombinator.com/item?id=539276>

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

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

------
pmarin
Eric Raymond: _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_

Or probably English is simply the most easy to learn.

~~~
likpok
Well, English does have a larger technical vocabulary than most other
languages. Admittedly, this is more because English accepts other languages
technical words into the language, so therefore (to some extent) is the union
of the technical language.

With this in mind, i would not call English easy to learn. There are far too
many special cases and bizarre twists to get to true fluency (it might be east
to get to a passable spoken version, though).

~~~
aristus
It's both, I think. Basic grammar is fairly easy and succinct. But then there
are 60K phrasal verbs (stand up, stand down, understand, stand under, stand
over, but never "overstand") and special cases, connotations, figures of
speech, etc.

It's difficult to explain to a learner why it is _technically correct_ but not
_usual_ to say "This is my election for lunch", or why a "hot chick" goes to
college while a "hot chicken" is dinner.

~~~
shard
Being fluent in both English and Chinese, I would have to say Chinese grammar
is much easier than English. There are no irregular verbs or pluralization,
and very few tenses. The difficulty in going from speaking English to Chinese
is vocabulary memorization and pronunciation, but that's true for going from
Chinese to English as well.

