Why are programming languages all based on English?

Jeff Atwood has a nice rant about case sensitivity in programming languages. During the course of the discussion, I pointed out that all programming languages are based on English. (I was wrong). Jeff then asked.

So why aren’t programming languages localized, if everything else is (the os, the applications, the web)? What’s so special about a programming language that makes it magically exempt from localization entirely?

Which is a good question. It’s one I brought up at the Seattle Code Camp during my presentation. Wouldn’t a multi-byte language like Chinese or Arabic provide you with a lot more symbols when constructing your language?

There are a few programming languages not based on English, as well as some common languages that have been translated, and a few not based on any known language.

  • All efforts at creating a non-English language fail on account of a few reasons, some of which are:
    1. Programmers are used to English-based languages and mostly C-like languages.
    2. The market for localized languages is too narrow.
    3. Code can only be understood by people who know both the language itself and the code’s syntax. The former is nothing when English is concerned, as it is the international language.

    One of my projects back at school was to create a language compiler based on the Structured Hebrew standard. No one really showed any interest in it afterwards…

  • I actually hammered out a post related to this a while back: http://jaysonknight.com/blog/archive/2005/11/01/2387.aspx

  • Good and big software is made by international teams, it’s common sense to have a unique language in which all the developers communicate. And in this era of globalization English is a standard language for communication between different teams. Also most programmers learn english even if it’s not their native language, since most software, programming languages and accompanying documentation is in English.
    Also..software usually has only one team, in which communication must be flawless, but many international users, which may want the interface in their language.