Jeff Atwood over at Coding Horror was concerned about how english was language de lingua franca in the world of programming. To be honest this notion doesn’t bother me and I’m a non-native english speaker. It can be rather puzzling standing point for people that are not in the programming biz.
I do believe that if you’re calling yourself a programmer and can’t read english documentation then you’re hardly a programmer at all. There are several reasons why the use of english shouldn’t bother us a lot however they are all an equal hurdle for beginning programmers:
- Most programming languages use english keywords in their syntax.
- Most useful documentation is available in english and even if they are translated a lot of the technical jargong is still in english.
If you manage to learn english, I can vouch for that you are smart enough to learn programming. It was because of computer games that I started to actively learn english and this was long before I started coding. In the 80’s the games were all in english. The only exception to this rule was that instruction manuals were translated… but who reads those things anyway? As a small kid I learnt playing games by doing instead of reading manuals. This rule still applies for anything I do, even when programming I do so by trying. Back when I was a small brat learning english I also had the help of passive language acquisition through the constant bombardement of american and british tv-shows. These shows were airing in the national tv station and later also in the 90’s cable tv stations. The tv-shows were subtitled rather than having an audio dub because Scandinavians weren’t big enough of a market to warrant an audio dub at the time. This has been a contributing factor why scandinavians are so exceptionally good at english in relation to other european countries. Not everyone in Sweden knows english, but a substantial amount of people do.
When I started programming I did ponder to use my native language in my code by exactly the same reasons that the DDD guys would say about using native language when choosing names in your problem domain. However back in the 90’s when I tried this the Swedish alphabet include characters that doesn’t fit the standard ASCII-table and the use of such characters in code led to a myriad of problems both in compile time and in run time. In the end I shunned the idea since mixing english keywords with non-english wordings on classes and variables didn’t make sense to me. It still doesn’t make sense to me. I always translate the word for class names into english instead. Anything that I write in source code is english to the best of my abilities. The only exception would be to use it in declarative programming language that use the native language in their keywords.
So for any beginning programmers out there, embrace english in every way possible.


