The Ugly American Programmer

If you dislike feeling like an Ugly American, just spell colour with that extra u, and suddenly you are speaking a foreign tongue :slight_smile:

But seriously, you are dead right. Being a native German, people are often amazed by my English skills. They exist because of programming. Programming and Terry Pratchett are those two things that aren’t translatable. I even prefer to use an English desktop, because bad translations annoy me so much.

Now contrast this to MS Excel (or OpenOffice, for that matter). It has localized function names, so it’s not IF(…) but WENN(…), and so on. May seem helpful for a business user, but feels extremely weird to me as a programmer, and a source for mistakes as well.

If you are an expert in only a single language, it might seriously limit your creative potential. Should we neglect creativity, in order to become mechanically more efficient? We sure are becoming dumb. It is probably time to do the reverse, and do programming and write books on programming in languages other than English.

@jake

Americans are not nor will they ever be native English speakers.

Actually, we have a phrase for this in (real) English: horseshit. But we invented English! Yeah, yeah, sure, whatever. So did we. Like, starting about 400 years ago. Ain’t no one owns the language, amigo.

I spent a year working in a mechanical engineering consultancy in France, years ago. The guys there were used to working with English Language versions of AutoCad and complained bitterly when they were upgraded to the latest version as it was in French (‘Merde, ou est Snap to Line?’)

I also had to do some VBA coding there, and the French Version of Excel 5 defaulted to using French keywords, i.e. Si…Alors instead of if…then

You lead a very sheltered life, Jeff. The very premise of your argument and the use of the term hacker smacks of a different era. Not everyone writes Visual Basic for .Net and your assertion that great hackers use English is delusional at best.

I sometimes think you post garbage like this just to get a reaction.

The Polish guy was dead on – it’s much better to see the documentation (or any literature on software for that matter, languages, algorithms, manuals, etc etc) in English which is either the author’s native language or a language he knows very well.

There’s so much terminology in English and growing that outright sounds ridiculous in other languages due to inadequate or not generally accepted translations. And then a spanglish communication like that with plenty of borrowed English words here and there is ridiculous itself… Why not just use English for the whole thing, not just technical terms and use the language of the problem/industry? :slight_smile:

Also, there’s so much literature in English in existence (which also keeps growing) that it’s just impossible to keep up translating everything. Likewise the amount of translated books (along with the quality of their translation) and books originally written in other languages is rather disappointing. And the same can be said about the programming information available on non-English websites. All of this pushes a non-native speaker of English (or should I say a non-speaker of English?:slight_smile: to improve their English (or learn) and abandon the hopes of getting quality info in the right quantity in the native language.

I wish it was easy (just as easy as in the US) to go to a bookstore somewhere in Russia and see technical and any kinds of books in English, untranslated (maybe even at about the original price, undiscounted, although $50-$100+ for a book is pretty darn expensive in Russia) and be able to buy them. Some classic books take longer to get translated than it takes for a kid to grow up, graduate from the school, complete the master degree program and learn some good English.

Btw, just using lots of software in English, reading lots of docs in English and communicating in English really does improve the language skills. In that same Russia English instruction has been pathetic for decades and you may still reasonably expect pretty much anybody who’s gone through 7 years of English at school+uni there to not know much if any English (what a shame!). Except the few who early on found something interesting in the language or just used it a lot, those like us, programmers.

Even when I am coding something I don’t ever plan to share with others I still write comments and variables in English. It just makes more sense. All the coders I know do the same, as such it’s also easy to share code with others if the need ever arises.

As a programmer from China, I’m humble and excited to see so many comments concerning Chinese. An also amazed to see a Chinese copy of Stack Overflow, which I think should be encouraged.(Jeff, do you think so?)

IMO, there is a strong correlation between English mastery and programming competence among Chinese programmers.

And I think I can reasonably infer that the top 5% of Chinese programmers do prefer English docs over translated ones, thought they still stick to Chinese when discussing.

See my blog for the details @ a href=http://an00na.blogspot.com/2009/03/all-programmers-are-english.htmlhttp://an00na.blogspot.com/2009/03/all-programmers-are-english.html/a

This ‘programming english’ works both ways though. My first job out of college was as the first technical hire for a small startup who had just commissioned the working prototype of their big idea from Digital (DEC) AB in Sweden. They had a working system that needed changes.

So my first job was learning VB2 (it was a while ago), VAX/VMS and enough Swedish to understand the source code. However, a little Swedish went a long way - you don’t have to discuss poetry with the program, only understand the intent. First, Next, Previous,Cancel, Last, Print, Order, Product… a few words are all you really need, if the code is well structured. I used to do the same with German on my Atari ST, where so much of the freeware was written by Germans.

I guess it makes sense for developers to have a means by which to communicate collaboratively on an international level. The mathematicians are lucky to be able to communicate via math. It’s kindof de-facto so I’m not going to fight it, but we could have used a better language than english. English has rules, exceptions to those rules, and other things that are legal which are against both the rules and the exceptions. It’s like PERL.

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.

English is NOT a non-case language and in no case is a more flexible language. Actually by having distinct word-forms based on case one has more flexibility on the construction of the sentence, consider the German language, it has 4 cases: nominative, accusative, dative, and genitive. Depends in which case a pronoun/article is located it changes its form:

English - German : Nominative Accusative Dative Genetive
the (masculine)der: der den dem des
the (femine) die: die die der der
the (neuter) das: das das dem des
the (plural) die: die die der der

Let’s take the sentence: Er gab ihr den Stuhl (He gave her the chair).
Er = Nominative masculine 3rd person singular (nominative: er)
ihr = Dative feminine 3rd person singular (nominative: sie)
den Stuhl = Accusative masculine singular (nominative: der Stuhl)
Based on the distinct words one can build the following sentences with exactly the same meaning (whether one would say that is another story):
i. Er gab ihr den Stuhl
ii. Er gab den Stuhl ihr
iii. Ihr gab er den Stuhl
iv. Ihr gab den Stuhl er
v. Den Stuhl gab er ihr
vi. Den Stuhl gab ihr er
Try the same in English:
i. He gave her the chair
ii. He gave the chair her
iii. Her gave he the chair
iv. Her gave the chair he
v. The chair gave he her
vi. The chair gave her he
As you can see it is impossible in English to have the flexibility base on non-case. Because these different distinct forms do not exists English heavily relies on the position of the sentence elements, i.e. the object in before the verb is the doer, the object after the verb is the receiver of the action, the object after the receive is the acted upon object of the sentence.

Time flies like an arrow; Fruit flies like bananas.

Have a lot of fun…

Advocating the adoption of English as the de-facto standard language of software development is simple pragmatism, the most virtuous of all hacker traits. If that makes me an ugly American programmer, so be it.

No advocating is necessary, English is already the de-facto language of software development. Advocating it does make you an ugly American. What are you fearful of?

I think all programmers should be capable of speaking and writing English.
For me English is is my third language but I would be dead without it.
As many pointed out most programming languages are subsets of English so when things are properly named you can read code almost as normal text.

My worst experience with programming ever was when I got a web based Project management system to maintain and modify.
The system itself was great, the only problem was that everything (variable names, function names, classes, comments) was Dutch!
Now let me clarify: The system was local in Holland. No, it was never meant to go out of there. But it DID!

So I think every programmer should speak, write and comment in English at least out of courtesy for the other guy who will get you cryptic code dumped into his/her lap!

To write code comments only in English is - in my opinion - not a good idea. Here we have developers from Russia, Italy and Germany, some with very mediocre English skills. To read their English code comments is just funny. I have reverted these back to German because at least now everybody understands what a particular method is supposed to do. see lost in translation…

In the bigger european countries like germany or france, there exists many books in native language, for all sorts of development - many more books for each topic than are actually needed.
Some of these books are even better than any translations from englisch books :slight_smile:
Even many blogs and newsgroups with native speakers exist. All television is broadcasted in native language. So there is simply no need for any to use english at all.
Smaller countries like the nordic countries are forced to use english, because there are too less native sources, even in television many series and films are sent untranslated (which wondered me greatly when i was there the first time :-).

Conclusion: If you want sell your tools, offer a a native version. Microsoft does so with nearly all development tools they offer, and thats a key to the success of windows as a platform.
If you do not, you are mistaken and ignore a big part of the pie. Others will do better and get bigger market shares - your decision.

@chris

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.

So what? I don’t read most programming sites. I read at most a hundred. It doesn’t matter if most programming sites are english based if there are enough programming sites in one’s own language to provide good support.

But you completely missed the point. What I’m saying is that there is a LOT of non-english programming sites, but YOU don’t read them, and you didn’t post IN THEM such discussion, so you don’t get their feedback.

Go out on NY streets and ask around if americans are nice people. Now do the same on Basrha. You’ll get different answers. THAT is my point, you have selected OUT people who don’t speak english, so how can you evaluate their skills as programmers?

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?

Are you SURE you understand english. What I said is that vocabulary is NOT an issue, because it is constantly changing anyway, no matter what you speak.

And, by the way… how many technical publications on the programming field have you read last year? And this year? How much they have improved your programming skills compared to other activities, such as reading and writing code, reading blogs, or reading books published years ago?

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.

No, that is not the point. I’ll quote Jeff: shouldn’t every software developer understand English?

If non-english speaking programmers do as well as english speaking ones, then the answer is no. And if I have EVIDENCE that this is the case, that’s relevant to what Jeff is talking about in his blog.

Hi you all:

I’m from latin america and I live in Spain right now.
It’s true that it’s hard to find good translations of books and documentation in Spanish, and when you do so, they are mostly outdated.

As a programmer is way easier to learn English in order to read documentation than try to understand those weird translations.

In my work flow, I put names to everything in English, that way it makes more sense to me if I have to review that code later.

Esperanto has a lot to offer and is worth serious consideration.

The greatest abomination on computing world is the localized functions in Excel.

I live in Brazil, Work as programmer for like 9 years. And everywhere I worked ( 5 places) you have ZERO chance of being hired to do ANY level of programming (even HTML) if you cannot do it in English.

And I think its right! These are professions about information and information manipulation. BEing able to understand each other always is simply so basic and undeniable that is something that could not even raise discussion.

Same way no engineer will reinvent math with different notations and expect people on his company or country to use it.