16 ms·
The Ugly American Programmer
"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?"
- vinutheraj 18y agoThe 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 !
- pavelludiq 18y agohttp://en.wikipedia.org/wiki/Non-English-based_programming_languages http://en.wikipedia.org/wiki/Non-English-based_programming_l... I guess the most famous ones are Brainfuck and the Perl module that lets you write Perl in Latin http://www.csse.monash.edu.au/~damian/papers/HTML/Perligata.html http://www.csse.monash.edu.au/~damian/papers/HTML/Perligata....
- jgrahamc 18y agohttp://en.wikipedia.org/wiki/Non-English-based_programming_languages http://en.wikipedia.org/wiki/Non-English-based_programming_l...
- sethg 18y agoCan anyone tell me any programming language which doesn't use english keywords!?! APL?
- pmarin 18y agoThere are lot of dialects of LOGO in other languages than English
- Anon84 18y agoNot sure it counts, but... the Portuguese version of Excel uses portuguese keywords for all the functions (Soma instead of Sum, etc) Also "BrainFuck", but that one doesn't use any words at all, just a few symbols.
- vinutheraj 18y agoWell the relevant question is do people do serious coding in any non-english programming languages ?! That's why I was so surprised when I heard of them !
- whacked_new 18y agoYes, nadesiko: http://nadesi.com/ http://nadesi.com/ It would be hard for one to understand how anybody uses it, if you don't understand the language, but that does not imply non-existence. You'd also be hard-pressed to find any, because all your searches will come up in English :) But if you're talking about cutting edge, then, no.
- ramchip 18y agoFjölnir, renowned for its "GRUNNUR"...
- Rexxar 18y agoThe template language of spip : http://www.spip.net/@?lang=en http://www.spip.net/@?lang=en
- neonscribe 18y agoAlgol 68, one of the grand failures in programming language history, allowed for multiple representations of the same source code, including allowing for each natural language to define its own set of keywords. You can see a code sample with English or German keywords in the Wikipedia entry: http://en.wikipedia.org/wiki/ALGOL_68 http://en.wikipedia.org/wiki/ALGOL_68 Just to be clear, I consider this to be an argument against the idea.
- sethg 18y agoI 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 18y agoBeing 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 18y agoSame 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 18y agoI 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.
- mixmax 18y agoIt might have something to do with the installed base of the language, so to say. Large languages like French, German, Japanese and Chinese may have an expectation that people should learn their language. Small countries like Iceland, the Netherlands and Denmark can't possibly expect anyone to learn their petty language that can't be used anywhere else, and thus realise that they have to learn English if they want to communicate outside their borders.
- wheels 18y agoI think it's that plus literary tradition. The Netherlands isn't actually that small population-wise, but it has a long tradition of its best minds (e.g. Spinoza, Erasmus) writing in the lingua franca of the day. Even though there are only four times as many people in France as the Netherlands, I'd guess there's more than twenty times as much written and published in French. Edit: Interesting note -- if Dutch, Flemish and Afrikaans are all considered the same language, then Dutch has around 30 million native speakers.
- Tichy 18y agoThis 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).
- graywh 18y agoAnd the Catholic church used Latin exclusively for centuries.
- verdant 18y agoAnother 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 18y agoI 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.
- bilbo0s 18y agoOpen 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!!!
- pmarin 18y agoEric 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 18y agoWell, 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 18y agoIt'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 18y agoBeing 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.
- bpyne 18y agoMy opinion is based on a limited sampling but how a language is taught is key. My wife and I each took French classes for 6 years prior to meeting. Her teachers emphasized speaking fluency while mine emphasized writing. She was taught to use idiomatic expressions and to "improvise" while I was made to memorize rules. We decided to take some French classes together for fun. She was much better able to communicate in general. I can read/write French okay in a formal way. When speaking though I tend to stumble trying to think through rules in my head. In contrast, I took 4 German classes in college. The professor had us watch German television shows and speak in "street" German. At the end of 4 classes, I was fluent enough to hold full conversations with German people when I visited. Even factoring in the regularity of German the teaching method seemed more effective.
- tokenadult 18y ago"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/ 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.
- mustpax 18y agoI'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 http://news.ycombinator.com/item?id=537246
- biohacker42 18y agowhy I gave up Visual Basic for C#, as painful as that was. No Jeff, working in VB is painful.
- lucumo 18y agoHas this been inspired by CNprog.com?
- kurtosis 18y agoWhen 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 18y agoTo 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 18y agoI 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.
- patio11 18y agoThis 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.)
- tokenadult 18y agoThis post gives me the overpowering urge to write a rebuttal in Japanese just to prove that an American can. I'd love to try my hand at reading it. Chinese is my stronger language, but I can read a lot of Japanese for meaning. Agreeing with your point that everyone, especially a native speaker of English, is well advised to learn the language of customers, I still agree with Jeff's main point that if we want an interlanguage (a "lingua franca") for programming, that language will have to be English for the foreseeable future. Not because Japanese and Chinese and Korean people are unimportant, but for the same reason that Japanese and Chinese and Korean people very often use English for conversations among themselves that include no native speakers of English--an interlanguage gains usefulness from network effects, and English dominates all other conceivable choices of an interlanguage in its network advantages. 頑張って
- 18y ago
- sethg 18y agoI 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 18y agoI 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 18y ago"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.)
- etal 18y agoFrom 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.
- akie 18y agoTrue, 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.
- jhancock 18y agojust posted my rebuttal http://odwks.com/2009/03/mandarin-chinese-programmer-communites/ http://odwks.com/2009/03/mandarin-chinese-programmer-communi... The HN post is here http://news.ycombinator.com/item?id=539276 http://news.ycombinator.com/item?id=539276
- dinkumthinkum 18y agoWow,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.