Non-English-based programming languages are programming languages that do not use keywords taken from or inspired by English vocabulary.
Prevalence of English-based programming languages
The use of the English language in the inspiration for the choice of elements, in particular for keywords in computer programming languages and code libraries, represents a significant trend in the history of language design. According to the HOPL online database of languages, out of the 8,500+ programming languages recorded, roughly 2,400 of them were developed in the United States, 600 in the United Kingdom, 160 in Canada, and 75 in Australia. Thus, over a third of all programming languages have been developed in countries where English is the primary language. This does not take into account the usage share of each language, situations where a language was developed in a non-English-speaking country but used English to appeal to an international audience, and situations where it was based on another language which used English.
International programming languages
The concept of international style programming languages was inspired by the work of British computer scientistsChristopher Strachey, Peter Landin, and others. It represents a class of languages of which the line of the algorithmic languages ALGOL was exemplary. ALGOL 68's standard document was published in numerous natural languages. The standard allowed the internationalization of the programming language. On December 20, 1968, the "Final Report" was adopted by the Working Group, then subsequently approved by the General Assembly of UNESCO's IFIP for publication. Translations of the standard were made for Russian, German, French, Bulgarian, and then later Japanese. The standard was also available in Braille. ALGOL 68 went on to become the GOST/ГОСТ-27974-88 standard in the Soviet Union.
– A multilingual version of JavaScript which uses multiple tokenizers to support localized keywords in different languages and which allows objects and functions to have different names in different languages.
Component Pascal – A preprocessor that translates native-language keywords into English in an educational version of the BlackBox Component Builder available as open source. The translation is controlled via a modifiable vocabulary and supported by modifiable compiler error messages. A complete Russian version is used in education, and it should be possible to accommodate other left-to-right languages.
– An IronPython 2.7 localization to Lithuanian and Russian.
AppleScript – A language which once allowed for different "dialects" including French and Japanese; however, these were removed in later versions.
Maude – Completely user-definable syntax and semantics, within the bounds of the ASCII character set.
Perl – While Perl's keywords and function names are generally in English, it allows modification of its parser to modify the input language, such as in Damian Conway's module, which allows programs to be written in Latin or his Perl language in Klingon. They do not just change the keywords but also the grammar to match the language.
– Python 2.6 localization to Lithuanian and Russian.
– Ioke is a folding language. It allows writing highly expressive code that writes code. Examples of same program in , , and