Continue Discussion 336 replies
March 2009

Jack8

English is the de-facto standard language of software development as much as it is for mathematics. Which it isn’t.

If a non-English programmer learns English, then he/she would have access to communities/documentations that would otherwise be out of reach. But the same applies to us and other languages.

I’m learning Japanese so I can communicate with some Japanese hackers better, and I don’t expect them to learn English just for me.

March 2009

peter2

No need to feel as an ugly programmer.
For the given pragmatic reasons programmers should learn the english language, for their own good. Period. There’s no ugliness in pointing out the facts.

But it’s all too easy to draw false conclusions from that. Even ESR, well-known as a sharp thinker didn’t question the idea ‘that English has a richer technical vocabulary than any other language’ (as was reported to him).
I mean what?!? Especially programmers should see the red sign blinking when it comes to language rankings, reading Caution! Sloppy conclusions ahead!.
Isn’t it already all too difficult to compare their laboraty languages in a sane way, even with regard to a very specialized topic?

Just to sharpen your thinking.

March 2009

Rhys

I’m working in holland these days and my dutch colleague hate it when people use dutch names for variables and so on. They even hate having their OS in dutch.

March 2009

alex6

You can’t name yourself a good programmer w/o fluent English. Period.

March 2009

Mike

I don’t see it as an ugly American issue. It wasn’t that many years ago that if you wanted to make a name in Chemistry you had to know German (because so much of the technical literature in the field was from Germany).

March 2009

o_s17

Consciously choosing to switch from Polish to English reminds me why I gave up Visual Basic for C#, as painful as that was. These languages do exactly the same things – and the friction of choosing the minority language was severe. I found reams of code and answers in C# whenever I searched, and almost nothing at all in VB.NET. I spent so much time converting code into VB.NET and introducing new bugs and errors in the process, along with countless language-only forks. This eventually stopped making sense to me – as it would to any good programmer.

Damn it Jeff!!! What about the evils of case sensitivity?
http://www.codinghorror.com/blog/archives/000458.html
:slight_smile:

March 2009

Zack

Like Jeff, I’ve also come to realize that I’m doing myself no favor my sticking with Visual Basic.

I personally prefer the look and verbosity of Visual Basic. I guess I’m just not a fan of semicolons and curly braces!

I was bitten too many times by C++, Pascal, and Java compilers years ago because I’d often forget a semi-colon here or there that I grew a great distaste for that syntax.

But, it’s quite clear by now that Visual Basic has lost to C#. I’ll program all new projects in C#.

March 2009

Daniel

So, english speakers, be they native or not, posting on english-written blogs and sites, reach the conclusion that most programmers worth their salt know and prefer english.

A further evidence of this is that non-native english speakers (who, nevertheless, read english) prefer english documentation, as documentation on their own language, to put it plainly, sucks.

Can anyone see the problem here?

I’m sorry, but this is WRONG, plain and simple. Guys, you are DEAD WRONG.

First, let me attack the documentation thingy. I always go for the english documentation. It’s more up-to-date and it has less errors (it couldn’t have more errors than a translation, after all!). The conclusion should be obvious: document translations are cheaply done and companies do not invest in creating original documentation whereas english originals exist. This is a problem with the creation of the documents, not with the language they are written in.

Next, the english-bias. By selecting blogs and sites written in english, you are eliminating almost everyone who doesn’t speak it. If you are USED to using these resources – after all, they ARE more complete – then you have applied a bias to the selection of your peers. You don’t know many non-english speaking peers because you don’t go to the same places.

Then, the english is better for programming bias. Bullshit. Programming slang gets created by the second. Drop a C++ systems programmer in a Java or PHP/Web environment, and he’ll think these people are speaking a different language altogether. Vocabulary is NOT an issue. At worst, people of different languages will just import the word, just like it happens with english. And it DOES go the other way, as any proponent of free (libre) software knows. :slight_smile:

What programming requires is the ability to analyse, to abstract and to think logically (actually, algebrically – or however that would be correct spelt in english :). And, I’m sorry to say, but some languages are really better for that than english. Some, of course, are much worse. :slight_smile:

Let me drop by the keywords, just for a second. I have noticed that it is a somewhat common problem with newbie programmers who are native english speakers that they sometimes expect their code to behave in a different way, based on a english reading of the source code that differs from what the code actually does. I have never seen this happen with people who do not speak english. I don’t mean it’s a problem to know english. My point here is that you learn very specific meanings for the keywords, to the point that the english origin becomes of little importance. For instance, yield in Ruby vs Scala.

And, now, finally, to anecdotal experience (unless someone here has statistics?). I have seen very good programmers who couldn’t read even an airport sign in english. They are at a disadvantage because they do not have access to the same repository of knowledge and documentation that their more fortunate counterparts have, but it did not detract in any way their programming ability.

Finally, let me address Eric Raymond. He is completely right. But he is talking about HACKERS, not programmers. In the sense Eric Raymond refers to hackers, they are not only elite programmers, but also people belonging to a specific cultural group. As evidence, it’s easy to imagine an elite programmer (english speaking or not) who, otherwise, does not seem a good fit for hacker. But the converse applies. Someone who would otherwise be a member of the hacker culture will never be part of the group unless he can speak with them.

I expect we’ll learn in the future a word that have similar connotations to hacker, but it will be a chinese word, and it will only apply to people who can speak chinese and engages in conversation with peers in this group.

As an afterword, I’ll throw a bone. A common advise for people looking to improve their programming ability is learning other (computer) languages. People who do this easily have a natural ability to learn other languages, computer or not. They might not know it, and they might even think some other problems they have socializing (let’s not pretend this isn’t common) are problems they have at learning other natural languages.

So, people who have a natural ability learning languages can more easily do one of the best ways of improving one’s programming ability.

March 2009

Christian2

I’m from germany and I have to agree: From a hackers point of view this doesn’t mean anything, it’s simply not important. I know many people around the world so that using English seems to be the only sensible thing to do.
Additonally, having to wait for a translation of a book is a waste of time. Depending on its topic one might sooner or later realise that it just won’t get translated.
And English suites the IT world pretty well: It can be expressed using 7 bit ASCII, which can’t be said from most other languages written throughout the world. I’m not sure how to explaing the use of german umlauts to non native speakers, for example. :wink:

That being said and being a non native english speaker (writer, user, you name it) myself, I have to disagree with Eric Raymond in this regard: While sloppy writing does not invariably mean sloppy thinking, we’ve generally found the correlation to be strong – and we have no use for sloppy thinkers. If you can’t yet write competently, learn to.

Personally I don’t see a relation between sloppy thinking and sloppy writing, it’s just about skill level. One might be a good programmer but unable to use the english language correctly, for a variety of reasons. Lack of good education, for example, or just a lack of understanding in regard to spoken languages.
Being arrogant in this regard, instead of being understanding and tolerant would IMO really qualify as being a ugly $nationality programmer.

March 2009

chris19

That means that you can write your company’s programs and systems in your native language, harnessing a pool of local talent that doesn’t write English, and then localize it into English when you’re done.

The point here is that most of the good devs speak english already, so why would you want to?

March 2009

AndreasK

English is the standard language for programmers.

Windows is the standard operating system for computers.

I generally prefer english computer books over german ones, ditto I didn’t need to wait for the translation of, say, Harry Potter. :slight_smile: My macbook has the english version of the OS, and US keyboard layout. I even use US layout on german keyboards. On the other hand, my motivation to ever again come to the united states is about epsilon.

On the other hand side, I see that the communities around here are nonempty enough to get along in their native tongues; and especially those people whose native script isn’t in latin letters have a hard time learning that. So I would not require english of every programmer around here. It may be positively correlated with performance, and it sure helps to be able to communicate with a lot of people here in europe – as a common language.

Besides, I’m helping to spread the picture of the ugly american: When I don’t understand the local tongue, I usually ask for english, not for german. :slight_smile:

March 2009

Guulh

As a French, I have mixed feelings on that topic.
English is often used here to make old concepts shiny. I HATE it when a manager or some salesman uses an English word when there’s a perfect French word with the same meaning. It’s even worst in Japan, where more and more the media use the English word for rice instead of the Japanese one… Just a smoke wall to hide emptyness.

So as everyone here I of course think English is necessary in order to understand precisely the API and the resources. But when writing a doc, a code comment or anything made to be read and fully understood only by people whose first language is not English, I don’t see any sane reason to write it in English.

March 2009

Sirwan

to me this shows a degradation of english culture… by saturating the language all over, yet everyone else can speak to languages. nothing to be really proud of, infact it should be addressed. Whilst some may be blinded by given up there language to be enslaved in a world of mechanics… some are treasuring there language and still have a culture.

March 2009

Robert

This is hardly new. Any discipline that relies on distribution of knowledge will develop a lingua franca. That term in fact was based on the fact that during the 17th 18th Century all science papers were in French. You had to know French to participate in the scientific debate. Gradually, that shifted over to English. Today, English is needed to participate in the global scientific debate.

You don’t have to know English. There are large clusters of knowledge available in German and Chinese as well. But the English cluster is larger - as a rule, the German and Chinese clusters only attract native speakers.

Will this last forever? Hell no. There’s nothing special about English that makes it the best language for discussing programming (or science).

March 2009

David

I don’t think you can consider the comments on this site as any kind of indication. By definition, the commenters here are self-selected English speakers. Of the programmers who don’t think that English is a pre-requisite, the majority will not be readers of this English-language blog and hence will not comment here!

March 2009

chris20

Next, the english-bias. By selecting blogs and sites written in english, you are eliminating almost everyone who doesn’t speak it. If you are USED to using these resources – after all, they ARE more complete – then you have applied a bias to the selection of your peers. You don’t know many non-english speaking peers because you don’t go to the same places.

This is also known as network effect - most programming sites are english biased.

Then, the english is better for programming bias. Bullshit. Programming slang gets created by the second. Drop a C++ systems programmer in a Java or PHP/Web environment, and he’ll think these people are speaking a different language altogether. Vocabulary is NOT an issue. At worst, people of different languages will just import the word, just like it happens with english. And it DOES go the other way, as any proponent of free (libre) software knows. :slight_smile:

What language is 95% of technical publications done in first?

I have seen very good programmers who couldn’t read even an airport sign in english. They are at a disadvantage because they do not have access to the same repository of knowledge and documentation that their more fortunate counterparts have, but it did not detract in any way their programming ability.

So what? The point is that english is the lingua franca for programming and you’d do well to know it.

March 2009

Mark

@joe, English defeated German by one vote.

@Accatagon, English is loose in all accounts, except structure. Nouns may become verbs may become adverbs that becomes adjectives just by changing the structure. That is what both makes English so powerful and so confusing to people learning English as a second language.

@Andrea, I am a native English speaker. I took Latin as my second language in school. I found Latin to be much easier than English, and many times still wish that the world language was Latin.

March 2009

ScottH

http://www.hanselman.com/blog/DoYouHaveToKnowEnglishToBeAProgrammer.aspx

March 2009

JamesE

Of course it goes worse than that. It aint just that English is the official IT language or hacker lingua franca. Its that it is West Coast or California English that is the lingua franca. Just let me fire up some Texanisms or let someone from up north start speaking about yous or what have you and watch ppl get confused fast.

March 2009

homogeekus

English IS a pivot of the programming world.

But truth is, depending where you live, you might never need it. In countries like France, Germany, Russia, Japan or China where almost everything is translated, you DON’T NEED to learn english at all, even for programming.

In fact in those countries you can usually find some very good documentation. But you must search it for real.

Two years ago I searched online for some good ilasm tutorial which was not yet another introduction; found it in Japanese.

Igor Sysoev developed the powerful Nginx, but he only speaks Russian.

Check out the Chaos Computer Club website, most content is in German.

At some point in the chain there is people understanding English at least, but it is not necessary functional enough to express themselves.

And it is not necessarily a handicap.


Homosapiens Geek, commonly known as Homogeekus Simplex

March 2009

cletus

I’ve noticed this too. In one job I had two colleagues who spoke Mandarin as their first language and their English was decent but not completely fluent and when it came to technical discussino just between the two of them they’d use English still.

It was actually kinda funny to listen to.

March 2009

mgb10

English may be a necessary part of a hacker’s life, but my two Mandarin-speaking teammates most certainly don’t use it in their own discussions except in that tacked-on way that most languages directly adopt a word for practical use.

March 2009

Greg

I got a pretty good laugh from some of my friends when I expressed concern about working in Austria because I would have trouble coding in German C++.

March 2009

Shane

I agree that English is somewhat essential, but only because that’s what 90% of language documentation is written in.

All but on the Wordpress codex documentation. There’s one french person that’s taken it upon themselves to do a lot of the documentation. I tend to find that documentation more helpful than the English versions sometimes, and I only have a high school french vocabulary.

March 2009

Philip

Agreed if there was no such thing as translation tools. There are… so your argument is hollow.

What I mean is, what if Google (or other company) can create a translation so accurate that nobody needs to be able to read anything but their native language? I think we aren’t far off that now!

I’ve found many Dynamics AX solutions on Chineese web sites because of Google translations. I don’t speak mandarin and I don’t need to, but I still got my problem solved.

The problem of language is that its structure dictates thinking patterns. Therefore a homogenous language produces a reduction in options and abilities to solve problems. I had a friend who could speak several languages who also had a unique problem solving ability. He could think through the same problem in different languages in order to come up with multiple solutions that nobody else had thought of. He wasn’t thinking outside the box - he was thinking in a logically structured way within the confines of each language.

Maybe I think this way because I have traveled outside my country, I have studdied with several nationalities, I work with a variety of nationalities and my country is surrounded by, and contains, an amazind diversity of languages, dialects and cultures. I think that our society all too frequently wants others to conform to what we believe, what we think and what we know to be right and best.

No - what we need in this world is more diversity but better translation tools, and as I said earlier - we aren’t too far from that right now.

March 2009

David

I don’t think it’s a sign of being ‘an Ugly American’. As a UK-born Australian programmer, there are a lot of people in the world who have English as their native tongue anyway. And, next to Mandarin Chinese, it’s the most commonly spoken language in the world.

But deciding on one language for a professional field of endeavor (whatever that language may be) doesn’t seem to me to be wrong, if it is essential that practitioners can communicate. The obvious other example would be aviation, where the official language is also English.

None of which is to deny that we English speakers shouldn’t make much more effort to learn other languages. But have pity on us, we can’t learn EVERY other language, whereas English is pretty much the common SECOND language of almost every non-English-speaking country.

March 2009

Johan

I’m from Sweden, where most or all hackers are pretty good at English. I was really surprised when I was an exchange student in Berlin, and learned how many German people don’t understand English have to rely on translated or native books. Of course it’s a large language and a lot is translated… but still?

March 2009

David

Now if only we could make those damned Americans use the Queens English we might just be able to change the colour of this web page.

March 2009

Eric_P

Great post! I actually just asked a question about this very issue on stack overflow a couple weeks ago. Seems the majority of people there would agree.

http://stackoverflow.com/questions/667720/truly-multi-lingual-programming-languages

March 2009

Graham

Fellow programmers in Japan (at least, the ones who could use English, which wasn’t all that many) told me that they preferred English documentation because the Japanese language tends to be oblique and implicit, whereas the English manuals and references were clear and straightforward.

March 2009

Mark

There’s a very good reason why the problem-solving code samples and answers are usually in C# and not VB.NET.

March 2009

baxter

Ideally we would all use Esperanto - that’s the future! Ah well.

March 2009

codinghorror

There’s a very good reason why the problem-solving code samples and answers are usually in C# and not VB.NET.

There are certainly reasons for more than one programming language to exist, but they should have to do with how well those languages fit the problem domain – instead of the meaningless choice between coke and pepsi…

http://www.codinghorror.com/blog/archives/000519.html

March 2009

Maximilian

It’s true. There is nothing imperialistic about it. I am german and if my English wouldn’t be as good as it is, my live would be a lot harder. Of all the developers I know, exactly one doesn’t speak English but she can read English documentations and technical discussions good enough to find her way around.

While lots of programming related books are translated to German, I always buy the English version. I’m so used to it that when I read a German one I translate it to English in my head (yeah, seriously).

It doesn’t help that most technical books are translated in a horrible way. I mean, when you read it you can basically see the English structure of every paragraph through the German words, if that makes any sense. It’s just irritating to read.

March 2009

Stephane2

I live in France, speak French as my native language, and to me English is necessary in my everyday job as a programmer. I always change language to en-us in MSDN to get the most complete and up-to-date information.
At work we don’t speak English, but use the technical English term, more precise, rather than an approximate French translation, when we need it.
Reminds me I learned some written English words as a kid (before I started courses in school) playing games on my parents’ Macintosh SE… Beginner, Advanced, Begin and a few others were part of my initial English vocabulary.

March 2009

Ricardo

I think most will concur with this post.

Even on the simply basis that most languages’ keywords are English, full comprehension of the code is lost -or at least impaired- by someone who isn’t comfortable with the language.

I’m a college student, and thus I have some colleagues who really struggle through programming, even getting absolutely lost without native documentation.

March 2009

Rene

One of the most wonderful things about the internet is that you can
pretend the world is flat. 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.

Unfortunately this is not true.

March 2009

Slim_B

Catch ex As Exception
log(ex.ToString)

…gets translated into whatever language the client runs in. Try google an exception type translated into swedish!

March 2009

Peter

Most programming languages are subsets of English so… It is only natural that the de facto language should be English.

I’m Romanian and learning English for my programming hobby proved to be one of the smartest moves I made. It opened the door to a body of knowledge otherwise not accessible.

March 2009

OlafurW3

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.

March 2009

Jens

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.

March 2009

JesseM

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.

March 2009

Ricardo

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.

March 2009

Siebren

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.

March 2009

Leonel

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

March 2009

James

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

March 2009

ingmar

Yeah, what Maximilian said… same here :slight_smile:

March 2009

ThomasC

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.

March 2009

Gareth

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:

March 2009

doekman

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

March 2009

Michjo

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.

March 2009

Ben

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

March 2009

Timothy

You strike a good argument…

March 2009

Richard

What about all those Chinese coders? :wink:

March 2009

NickF

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.

March 2009

AshishD

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.

March 2009

Paco

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.

March 2009

brad_dunbar

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.

March 2009

Luke_L

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.

March 2009

Hoffmann

I’m a portuguese speaking student, most my professors recommend using the english books instead of the ones translated into our language. The terms like recursion, instruction, busy waiting, scheduling, etc most of the times don’t translate right. Some translated books don’t even translate such terms, those books work as good for me than the english ones, but the other books are almost always crap.

For example, the operating system book I use translate scheduling into escalonamento when the right word should be agendamento. escalonamento means a completely different thing in English.

As for commenting code in english, I do that too and it almost cost me a 0 on one of my code projects. My professor assumed that I copied/pasted the work from the internet since I commented everything in english. I still do it though, comments in portuguese suffer from the same problem as translated books.

March 2009

Steve_Smith

I agree. It’s not terribly different from air travel, which long ago concluded that it was worthwhile to have a single standard for radio communication between aircraft and ground controllers (also in this case English). The globalization of developer workforces also makes it financially worthwhile for developers hoping to widen their pool of potential employers/contracts to be fluent in English, as well.

March 2009

Hinek3

Slim B: Catch ex As Exception
log(ex.ToString)

…gets translated into whatever language the client runs in. Try google an exception type translated into swedish!

@Slim B, this is why every developer I know uses english OS and software on their development machines / images.

Plus it spares you translations like Projektmappen-Explorer (Solution Explorer) …

March 2009

Pedro

I’m a Portuguese programmer, living in Germany.

I’ve started learning English at 9 because I wanted to download Civ I from a BBS and then went about hacking it, which lead me to english.

However here in Munich I found it appalling that most of the programmers and developers I’ve come across don’t speak english, don’t comment in english, and don’t even use the web in english. On the note that german is a big language, world wise is really not relevant and even if it was, english is the de-facto language for the internet.

That said, i really agree with your post, and would only add that programmers should take their knowledge of their native language and english when localizing software and improve its translation.

my 2 euro cents :wink:

March 2009

Shmork

The fact is SOME lingua franca is necessary and always has been for technical discussions. In the 18th century, it was Latin. In the 19th century, it was English, French, or German. In the 20th century, it all switched over to English, post-WWII, for the most part.

The convenient thing is that many of these countries are full of people who learn English, and other languages, as part of their general secondary education. If the language was switched from English at this point, most Americans would be sunk — they know a smattering of Spanish, not very useful.

In the end, though, its the bilingual programmers who benefit most from this arrangement. Note how the Pentagon is totally freaked out about Chinese hackers—who all can read both English and Chinese. How many American hackers can read Chinese?

March 2009

Andrew

I seem to recall hearing somewhere (probably from something with Stephen Fry in it) that the most spoken language is panglish, a phonetic variant of English that most native English speakers would have difficulty with.

It is unfortunate in a way that modern UK English has deviated from US English because US English seems to be the main driving force and that probably means that at some point us Brits will have to give on color, center, etc.

March 2009

Tom_Ritter

It’s funny, because I’ve often run into a brick wall of Swedish or German while trying to read about the CCC or the Swedish Pirate Party :wink:

March 2009

RyanR

I wonder how the Domain Driven Design guys cope with localisation issues? Having the code model match the ubiquitous language of the business domain is the fundamental tenet of that approach to design. That is plainly not going to be possible if there’s a translation step.

Some purer languages than English are probably not even suitable for translation into object models… does you service change gender if its operating over am different objects? Somebody slightly less monolingual than I might be able to say if that is the case.

March 2009

freddy

I thought computers speak in ones and zeros. :slight_smile:

March 2009

Sindri

Learning another human language is much more difficult than learning to code in a programming language that has keywords based on a language you don’t know. This is why people put plenty of effort into translating API documentation and creating stuff like your Chinese bastard child http://www.cnprog.com/

Most Chinese programmers want to learn English, it’s just easier, cheaper, better and quicker to ask and get an answer in Chinese.

March 2009

naomib

I think it’s fair to say that most people who could read this blog post in English would agree with you, so in a sense, you are preaching to the choir. Anyone who can get by with the English will. Technical translation is just not good enough, and by necessity, it’s always going to be several months out of date.

That said, I think there’s a fascinating trend of non-traditional developers emerging on the Internet: people who weren’t formally trained in school who picked up stuff on their own because they were excited about projects they wanted to work on. Of course it’s easier for anyone who speaks English, but there are plenty of people writing code based on other people’s code, working from poor quality translations, and making their own translations to share with others.

Ultimately, I think we’ll see more and more of this happening, and I hope we’ll also see the quality of translations improve for locales where English literacy isn’t common (or is limited to the very wealthy).

But I work in technical translation, so I could be expected to say something like that… My hope is that in five years, we’ll be seeing a much richer developer ecosystem, and the translation quality and locally-sourced documents to support it.

March 2009

Kimmo

I absolutely agree. I’m from Finland and work in a small web/mobile startup. We have ~10 people from Finland, Germany, France, and Albania. Even the native Finns often talk English to each other. That just feels natural in the technological context.

At school we often return the assignments in English (even though they could be written in Finnish) so that we don’t have to translate the terminology and make up terms that people don’t really understand since most of the material is in English anyway. I was very frustrated since we had to write the Bachelor’s Thesis in Finnish and I had to translate even the most basic terminology into equivalent Finnish terms that nobody really uses anywhere. Too much unnecesary confusion.

Software projects go beyond language boundaries and you cannot tell who’s gonna maintain your code tomorrow. English really is the only choice.

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. - Guido van Rossum, Style Guide for Python Code

March 2009

Charles

It’s not a meritocracy. I think you need to go back and review what that word means, which is ironic as this is the Use English or Fail post. This phenomenon is just an accident of history. There are a lot of factors behind it. If Americans were as multilingual as other developed nations then perhaps you wouldn’t have posted this.

The question of whether this is the way it should be and should it be more prevalent than it is currently is different from the question of whether you’d be better off learning English fluently to be a better programmer or what have you.

As far as pragmatism being the most virtuous of all traits … Honestly, I couldn’t begin to roll my eyes as much as is necessary for that.

March 2009

andrew2

Most of the world who have English as their second language are excellent at writing and reading English in documents and code and when they are not sure they ask for help.

The worst are those from the USA who do not event know that they do not know.

See:
http://thinkexist.com/quotation/he_who_knows_not_and_knows_not_he_knows_not-he_is/149147.html

March 2009

Slim_B

Hinek

@Slim B, this is why every developer I know uses English OS and software on their development machines / images.

I keep running into this issue whenever I download log files from my Swedish customers. I’d personally never change into a Swedish OS though.

March 2009

Thejesh_GN

Of course knowing English always helps whether it is American/Brit/Indian. I have had problems earlier when talking/writing. So now I usually keep it simple when I am not sure whom I am talking to.
http://simple.wikipedia.org/wiki/Wikipedia:How_to_write_Simple_English_articles

March 2009

Igor

We don’t speak English… I agree with that, just ask a normal people: Whats a commit?, and you’ll see what I’m talking about.

With that said, I have to say that I learned how to program in Spanish, and I think that’s why tools have to be localized to learn the language and then just use the English version.

March 2009

Markus

@Pedro: Seems you’ve worked with the wrong people

Greetings from Germany :wink:

March 2009

Matt

My question is, if the world becomes a different place in the future, are you ok with someone telling you that functional Hindi is required in order to be a true hacker?

March 2009

Phil

I completely agree with you. I think every programmer should know at least basic English to be able to read documentation and comments (and code). In fact I am glad that programming keywords are not from my native language. I sometimes encounter code with German function names and this looks very odd to me. Might be the mixture of keywords and function names but a German only programming language still is unthinkable for me.

Also: Because English words have almost no accents (save for loanwords maybe) they are predestined for comments so wrong character encoding isn’t likely to break the file (I once had a source file with German umlauts in the comments and even function names. Not knowing the original encoding I had to rename everything because the compiler couldn’t handle it…).

March 2009

AdSR

There is really nothing surprising here - domain-specific communication languages have existed in many areas, e.g. Latin in medicine, French in 19th century diplomacy, classical Greek in philosophy (later replaced by German), Chinese and Japanese in martial arts. This comes from the fact that a given area is developed either in a given culture/region (such as Silicon Valley), or when a given language is popular (Latin in many areas).

Thus there is nothing wrong with telling people This is the domain language. Learn it to communicate with other specialists. In fact, as has been pointed out above, it is beneficial.

March 2009

futureturnip

Airline pilots are required to speak English, for the purpose of having a universal or common language between controller and pilots. The French, of course, play by their own rules.

March 2009

CanB

There was a question about this on Stack Overflow a while back.

I think there’s a strong correlation between an individual’s English skills and programming skills. One might argue that this is merely because the schools that provide a good English education also provide a good programming education, and I could agree, but only to a certain point.

Even the best programming education is no match for self-improvement and experience. Being a good programmer requires constant study and improvement during and after school, and most of the material is in English.

I don’t think this is necessarily because English is a better language for technical conversation, but because it’s a very flexible language that can easily acommodate the needs of any subject.

On a side note, I don’t think programming (or Computer Science) is alone in this respect. English is the lingua franca for almost all sciences, especially engineering and natural sciences.

Finally, there’s the C argument you had on the podcast. Just as you don’t necessarily have to learn C to become a programmer, you also don’t have to learn English. Will you be a good programmer without English or C? I don’t think so.

March 2009

Donny_V

Don’t know if you have seen this Jeff. But someone over in Asia has decided to copy stackoverflow.com … literarily.

http://www.cnprog.com/

March 2009

Pedro

@Markus Well i’m working it big companies and major players in the web industry, I was in Switzerland before and never had the issue of not speaking german arise, but here? oh boy…

March 2009

CanB

@Matt: that’s a fair question, but I don’t see that happening in our lifetime.

March 2009

Pies

I’m not sure what you’re advocating, and more importantly, to whom exactly?

Since a lot of online content is published in English, it makes sense to learn it if you need access to that information. This isn’t in any way limited to programming-related information.

Comments in the code should be written in a way that makes them easy to understand for people who are going to read it. The language of the message should be the most appropriate for its audience.

I use English for labels and comments in code because I like it that way. If I was working with other Polish programmers, and they didn’t know English very well, it would probably make sense to use Polish.

I would also like to remind you, that the ability to read English is far more common than the ability to write English, hence they really shouldn’t be lumped together as using English. For example, if someone knows English well enough to be able to research an issue online, that doesn’t necessarily mean his vocabulary is good enough to come up with meaningful function/variable names in English.

March 2009

Mecki

I’m working at a software company where all programmers share the same birth tongue, and that is not English. So we could use this language everywhere: comments, documentation, commit messages, etc. However, we don’t. All our comments, all our documentation, even our commit messages are always English. Why? Is it easier to write all this stuff in English? I don’t think so. The standard argument is should we ever hire a programmer that does not speak the same birth tongue, he’ll certainly have enough English knowledge to read that stuff. Have we ever hired such a programmer? No. We had foreign employees in other departments, but no developer so far. Is it likely that we ever will hire such a programmer? I don’t think so. I doubt it will ever happen. However, that is not the point. The point is that we COULD if we wanted to and thus we keep everything in English :slight_smile:

March 2009

ck16

This entry reminds me to ask whatever happened to Google’s big project to exponentially improve language translation by building an ultra high quality phrase library from UN documents which are translated by hand into dozens of languages.

March 2009

Mike

I even remove the .NET language packs, so I can have english exception messages, better for googling.

March 2009

Jan

I’m from China, I completely agree with you. All gurus I know read english documents only.

March 2009

Rob_O

I can imagine that there’ll be some indignant backlash on this American-centric attitude, but while others are grousing about it, students in India are quietly efficiently learning English and moving forward en masse.

I only wish we could adopt as pragmatic an approach to default spoken written language here in the U.S. It’s insane that we have street signs only posted in English, yet we feel some ridiculous (politically-correct) obligation to offer forms at the DMV in Spanish. Likewise with employment, tax, and other official government forms - people are capable of reading enough English to get a drivers license, purchase a car, and navigate themselves to the county courthouse or other local government building, yet they can’t handle enough English to complete a form?

March 2009

Kimmo

Pies: Comments in the code should be written in a way that makes them easy to understand for people who are going to read it. The language of the message should be the most appropriate for its audience.

But how can you really tell who’s going to read it in the future?

March 2009

Konrad

What really ticks my off is people who cannot even speak their native language. Germans have really let themselves go. You’ll hear biologists everywhere speak of DNA (even when conversing/writing in German). Only ten years ago, nobody would have thought of abbreviating “Desoxyribonukleinsäure” as D-N-A (instead, they used the perfectly sane “DNS”). It’s perfectly ridiculous and in my opinion, it betrays a very sloppy attitude (not only towards language, which is, to be fair, rather arbitrary). That said, languages exist to make ourselves understood. Why impose artificial, unnecessary limits? Using a language other than English in programming-related publications (that includes source code, obviously) only serves the confusion of languages.

March 2009

MKR

If Americans were as multilingual as other developed nations then perhaps you wouldn’t have posted this.

I know a lot of people in other countries who I speak with through both voice and text. They all speak some variant of English fluently. I could learn another language, but where would I use it? Much as I would love to learn another language, I would forget it all through disuse.

I think this is the dilemma we’re in. The world wants us to learn their languages, but they won’t stop talking in ours long enough to give us the incentive and opportunity to learn. :slight_smile:

March 2009

Mike

@Ryan Roberts

Good point! So, our programming language is english, and we will keep it that way. But what about our domain model. Jeff, if I hired you to write a program for a dutch airport (let’s say Schiphol) would you design a class named Airplane, or a class named Vliegtuig?

March 2009

jake21

sorry for being anally retentive but this really really peeves me. Americans are not nor will they ever be native English speakers. I’m quite happy and willing to accept American English. i love you all to bits and this is nothing personal.
In fact, i think the IT industry speaks and communicates in American English!! that is why all sorts of stuff goes wrong when you set your your language to UK English instead of American.
And i believe air traffic controllers use international English which is to say words agreed upon.
i think the choice of language is driven by the major contributors and as such i am glad a certain helpdesk/outsource country has big emphasis on it’s future work force learning English (queens English we call it here)

March 2009

KetszeriC1

I’m a native speaker of one of the worlds most difficult to learn languages (Hungarian) and pride of my nations culture.
But I insist to code in English, document in English, and read about my profession in English as this has nothing to do with culture an won’t help to decide who is smarter.

March 2009

Tomas1

Absolutely agree.

The last book I bought in Czech was Code Complete. Didn’t want to wait for Amazon delivery.

And while the translation is of higher quality than is usual, there are errors clearly introduced by the translation process and some technical terms just don’t feel right.

March 2009

Tekzt

I´m from Germany and I use the web almost exclusivly in English. Do I think that it would be cool if every programmer would understand English? Yes. But is it realistic? No.

On my dayjob I have 2 co-workers who are 45 and 50 years old. They can´t speak English and I´m sure they will not start to learn another language now.

I think it´s dangerous if people who are learning a new language take part in programming discussions on the web. People could think they know what they say, but say something else and give wrong advice.

The problem with documentations are the translators, not the languages :wink:

March 2009

bennby

What language are the VCR buttons written in?