The Ugly American Programmer

Shouldn’t By any metric you can possibly measure be By any IMPERIAL ?

I would agree that its not really practical to work in IT - programming, support, anything IT related - without an advanced ability to read and understand english. I know a few excellent programmers who can barely understand me if I speak to them in english (I’m a native speaker) but haven’t the slightest problems with emails. They hate the translated technet and switch to english for support.

We use a few tools which have small macro languages built in which are not in english. The (non-english-speaking) guys here are always cursing the products because the syntax is horrible to work with. (si x entonces y sino Z)

However it should also be obligatory of all students in US colleges to have to learn how to handle non-ascii text and non-english languages.

I constantly have to fight with apps which mangle á, é, í, ó and ú when they are exported/saved/transmitted. It not as if they’re even unusual characters - they’re present in almost all western european languages.

in communist soviet russia - English programs YOU

I think that English Docs are more accurate. My native language is Spanish, and you have to choose between the great and rich variety or Spanish types (Spanish from Spain, Chilean Spanish, Mexican Spanish, any-latinoamerican country Spanish) or the standarized de facto technical English.

The choice is very clear. And more of the great programmers and engineers talks and writes english so english docs are the more confident source and that are less error-prone.

This are my reasons of choosing English as the language for reading or studying technology.

So VB.NET to C# was tough, huh? Even though they are basically the same language? VB.NET to C# is like moving from Hindi to Punjabi (dialects), or perhaps from Italian to Spanish (very similar languages). Can you imagine learning Mandarin? Can you imagine being so fluent in Mandarin that you could have a meaningful discussion comparing the implementation of enumerations in C# and Java? That’s a big ask.

I suggest you spend a year learning Mandarin (or perhaps Lisp!) and then do a follow-up post!

English is THE worst choice of a hacker lingo. But it would be even worse not to use a single language… and English is the language that is prevalent.

It’s really, really bad as a thinking language. You can’t even express math, instead you have to reinvent separate languages (mathematical notation, programming languages et.c.), you can’t express logic, you have to reinvent separate languages for that too. You can hardly express anything without using a separate language (diagrams et.c.). English is a dumbed down pidgin language that constantly needs crutches.

English has a very rigid structure. You can’t express a trail of thoughts in the most natural order for every idea. Leading to a very long-tounged language where the listener have to remember details about things that where said several minutes ago. And a lot of repetivness, because the speaker have to take artificial care that the listener can follow his trail of thought.

Worst of all, it’s boooring. There are funny languages that make joking easy, like Jiddish, Finnish, Dutch and Swedish, and there are boring languages, like German, Polish, Esperanto and on the far end: English. Funny languages are usually harder to learn (with exceptions, like Finnish) and boring languages are usually easy to learn (with English almost as hard to learn as a funny language). A brain needs teh funny to generate good ideas.

As for Linus using English in his comments. Swedish had a CS vocabulary that was superior to English until the late 80’s (mostly borrowed from German and Norse, neighbor countries that also was front runners in CS, logic, math and other science/technology from the 18’s century until the 1990s). But US organisations had a bigger home market and US based technology, although technically inferior, won because it had more money behind it. Technology developed in other countries had to support English to be competitive. Nobody updated the technical nomenclatures in other languages and kids today don’t learn any technical vocabulary except English. If Linus had learned CS in the 70’s, he would have used Swedish, and Linux would have failed, not because Swedish is unsuitable as a hacker language (it’s superior to English as a thinking language), but because he wouldn’t have been able to get enough supporters.

I bid farewell and good night with a link to a (Swedish) comedian singing about why there is no German comedians (it’s a hyperbole of course, but German comedians have to work harder to be funny), English have similar limitations:
http://www.youtube.com/watch?v=-eV15AeBD1A

Advocating the adoption of English as the de-facto standard language of software
development is simple pragmatism, the most virtuous of all hacker traits.

Language planning is never simple pragmatism. There are considerations about language (e.g., Which English do we advocate?), economics (e.g., What will this cost companies? Developers?), education (e.g., Will the educators need to be familiar with technical concepts? Who trains them? Who pays for them?), history (e.g., What is the historical relationship with English by the developer’s nation or culture?), demographics (e.g., What natural languages do developers already speak?), culture (e.g., What are potential cultural issues that could impact such a policy?), psychology (e.g., What considerations are given for the relationship between language and identity?), and so on.

I recommend reading a book edited by Thomas Ricento entitled, An Introduction to Language Policy: Theory and Method. It covers many of the issues related to language planning and policy – and not only from a nation-state perspective, but also from that of corporations and so on.

One of the previous post allready mentioned that the lingea franca changes from time to time, depending on the imperialism of the time and the region.

It also changes with the technical field. Most computer science as we know it originated from the US. Most publications where in (american) english. To keep up, people didnt have time to wait for the (often bad) translations.

Same happend with chemistry in the 19th century, only the the leading language was German. Germany was big and influential enough that a lot of people where aware of it and its developments anyhow. So it was easy to pick up in other countries. Scientist not reading the language where at a disadvantage. This changed after WWII when focus shifted to the US.

Nieuw fields of study will probably aquire a different language. Maybe japanese for robotics :wink:

If China where to dominate a completely new and influencial technology, a lot of terminology would be chinese and a new generation of students would learn the language to be able to read its literature in its original form.

So start learning it now and have a head start … :wink:

what second language would provide the most added value for you as a developer?

Profanity

There is a rational seed in this article. But I can’t agree with all. I’m Russian, and yes, my English is far from fluent, and yes sometimes documentation in English is much cleaner and readable than translated…
But what about the medicine - Latin was and still is a must know language for all doctors around the world, a lot of terms and speech tokens are from Latin, but medical literature is written in national languages nowadays.
The more national community of programmers is, the more native language resources are helpful. I personally know a lot of good Russian programming knowledge sources over the Internet, nicely translated books - nevertheless I admit that modern developer is to know English (may be not excellent, but having a good skill level is a must)…

Most non-native English speakers here made the point at that speaking English is necessary for hackers. But are there anyones not speaking English willing to give their opinion?
Oh yes, they probably do not read this blog, so they are not true hackers :wink:

It is a good idea for any industry to use an agreed upon standard where security and critical functionality are at stake. It is not racist or egocentric to argue that programming should be taught, documented, and discussed in English. All the World’s air traffic control is in English for this reason. All pilots, navigators, and traffic controllers speak and work in English if they did not safety would be compromised. With computers taking over more and more control of the essential systems in our world infrastructure a standard needs to be adopted regarding communications in software and English is the obvious choice.

as someone who doesn’t speak English natively, I agree that, as a programmer who wants to improve his/her skill, it’s important for one to master, or at least able to read, English. because, like everyone above had said, most of the resource material is written in English.

but if you’re a starter, who just start to learn your first programming language, I still think that the best material for you should be written in your native language, with one caveat, it shouldn’t try to translate technical terms. it should just explain the terms, without trying to translate it. because in current condition, by translating technical terms, actually you’re alienating your self from the crowd. in fact, the book that make me fall in love with programming is written in my native language, but the way it present the material just keep me more and more interested to programming.

but in my opinion, if you are REALLY born to be a programmer, language shouldn’t really be a problem for you. because most, if not all, programmers will learn more than 1 programming language during his/her career/life as a programmer, unless you’re living in an utopian world where one programming language can solve all computing problems, or you just working on one very specific problem. so basically, language, either human or programming ones, are just ways of expressing things. some can be very flexible and powerful, and others can be less expressive and less powerful.

just my 2 rupiah :smiley:

Another German here. English has been, rightfully (by convention, not merit), mandatory for comments and documentation in every company or project I’ve ever worked with. I hate nothing more than localized systems (php.net, I’m looking at you! When I use a search shortcut, I don’t want you to use a localized version, because my IP says I’m in Germany, my browsers tells you that I want English and nothing else). I can’t really remember when I’ve last installed a localized version of anything either, aside from the keyboard layout, which is a non-issue on my main PC (Das Keyboard), but is irritating if not corresponding to the labels, so I tend to stick with de-latin1…

@winston
Agreed. There’s no point in trying to build C++ in French, you’d need to build a language in that language from the ground up.
I’d imagine the reason this hasn’t been done is because there’s no serious desire to do it.
Besides, programming isn’t in English, it just uses English as its base. Static has a completely different meaning in programming than any English dialect. const is considered a real word. Hell, look at the meaning of the word String.

I agree.

Hebrew is written from right to left, so it would be a real headache to document code in hebrew.

When I was a student I once wrote a programming language in hebrew, but it remained as a joke between friends and did not enjoy popularity.

When we talk about programming I prefer consuming and producing English, also for documentation, specifications, blogs, comments, etc. Don’t feel bad about that.

I can confirm English is important as dev language in our russian-speaking company.
When discussing programming, we use english terms, not proper russian translations, cause it simpler, shorter and easier to understand - not all people even know proper terms in russian.

And yes, same as German commenter above, when reading russian books on development, I need to translate some terms in English in my head to better understand what’s going on.
Cause alternatives to postback, viewstate etc are truly horrible and lengthy.

English is a bitch to translate into Portuguese, due to its specificity.

I though lolcat was.

I guess it would be even more difficult for non-native English speakers who grew up with a language that doesn’t use the Latin alphabet.