The University of Antioquia in Colombia teaches its introductory programming courses in Lexico, a Spanish-based, object-oriented .NET language. The intent is to teach programming concepts in the students' native language before introducing English-based mainstream languages.

There are many other Non-English-based programming languages and there is even a related question in Stack Overflow. I have several questions regarding these languages:

  • Has anyone on this site learned to program using a non-English-based language? If so, how difficult was the transition to the first English-based language?
  • Is there any research-based evidence that non-English speakers learn programming faster/better using languages with keywords in their native language instead of English-based languages?
  • Let me just say that I learned to code in Basic without being able to say or write a word in English. – Job Jan 11 '11 at 2:34
  • 2
    @Job - You hide your lack of ability in English well with your correctly spelt and punctuated comment in good English... ;-) I assume you've learned since. – Jon Hopkins Jan 11 '11 at 13:46

Consider the number of keywords in a typical programming language; usually it's below 100, often closer to 40. Now compare this to any other formalism, e.g. math symbols, or musical notation. There's at least comparable number of (cryptic) symbols to learn. But learning them buys you a common language with the whole world that uses math or musical notation.

But a programming language is not limited to keywords. Standard libraries use descriptive names, lots of them, and there's no hope these names can be localized. If you're seriously into programming, you need a bit of English. And if you're into medicine, you need a bit of Latin, etc — nobody complains; having a common terminology that needs no translation helps enormously. A few languages in the past tried to support localization of keywords; the fact that they don't easily come to mind may illustrate how successful these attempts were.

So the only reasonable audience that non-English-based programming languages may have is non-programmers that don't want to be programmers, and write tiny code snippets. Here you have localized names of Excel functions. Here you may have simplistic languages for kids; such languages can have no words at all, as in Scratch.

| improve this answer | |

AppleScript used to have a feature called dialects wherein scripting dictionary mappings could be used to write AppleScript (a very English-like language in its usual form) in other languages. See here: http://www.cs.utexas.edu/~wcook/Drafts/2006/ashopl.pdf -- page twenty starts to cover AppleScript's internationalisation, but if you have any interest at all in scripting on the Mac, the entire paper is worth a read.

Sadly the feature was taken out back and shot sometime before Mac OS X.

| improve this answer | |

One of the things that made me never try to program anything in VBA was that at some point somebody using a localized version of Word opened a script file, and it showed the BASIC keywords in Spanish! arrghhh! it was so awful sight (seriously, right there with goatse) that i feared writing something and then seeing it so hideously rendered.

(BTW, my native language is Spanish and I really like it)

| improve this answer | |
  • 9
    BTW dont google goatse if you are at work. In fact, just don't – Nobody Jan 11 '11 at 15:10

WinDev allows to use the language keywords in english (if,then,else) or in french (si,alors,sinon) (at least last time I had to use it, years ago). You can't really say it's a programming language...but, oh, well.

| improve this answer | |

Not the answer you're looking for? Browse other questions tagged or ask your own question.