Do You Have to Know English to be a Programmer?

Painted on the wall at a temple in India: "Please remove your shoes before being entered."

In a comment to Scott Hanselman’s blog post about how Microsoft is using “crowdsourcing” to help create localized versions of MSDN, someone wrote:

If you don’t know English, you’re not a programmer.

A provocative statement like that cries out for an article and discussion, and Scott got the ball rolling with a follow-up article titled, quite expectedly, Do You Have to Know English to be a Programmer?

While a command of the English language isn’t a prerequisite for the actual act of programming, programming languages typically use English keywords, as do many development libraries. Even some popular languages written by people whose native tongue is not English, such as Ruby (Japanese) and Lua (Brazilian Portuguese) use English keywords.

I think that English is the lingua franca of business and technology today: a language often used to communicate between people not sharing a mother tongue. Just as you could have the knack for diplomacy in the 18th century and not speak a word of French, you can have the knack for programming and not know a word of English. But it’s really, really helpful if you do.