Non-English-based programming languages

From Wikipedia, the free encyclopedia

Jump to: navigation, search

Non-English-based programming languages are computer programming languages that, unlike most well-known programming languages, do not use keywords taken from, or inspired by, the English vocabulary.

Contents

[edit] Prevalence of English-based programming languages

There has been an overwhelming trend in programming languages to use the English language to inspire the choice of keywords and code libraries. According to the HOPL online database of languages,[1] out of the 8500+ programming languages recorded, roughly 2400 of them were developed in the United States, 600 in the United Kingdom, 160 in Canada, 75 in Australia.

Another way to say it is that over 1/3 of all programming languages were developed in an English-speaking country. This does not take into account how widely used each language is, nor situations where a language was developed in a non-English-speaking country but used English to appeal to an international audience (see the case of Python from the Netherlands) or because it was based on another language which used English (see the case of Caml, developed in France but using English keywords).

[edit] International programming languages

ALGOL 68's[1] standard was published in numerous languages, and the standard allowed the internationalisation of programming language itself.

On December 20 1968 the "Final Report" (MR 101) 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 and Bulgarian, and then later Japanese. The standard was made available in Braille. ALGOL 68 went on to become the GOST/ГОСТ-27974-88 standard in the Soviet Union.

  • GOST 27974-88 Programming language ALGOL 68 - Язык программирования АЛГОЛ 68[2]
  • GOST 27975-88 Programming language ALGOL 68 extended - Язык программирования АЛГОЛ 68 расширенный[3]

In English Algol68's reverent case statement reads case ~ in ~ out ~ esac, in Cyrillic this reads выб ~ в ~ пибо ~ быв.

[edit] Based on non-English languages

[edit] Languages based on symbols instead of keywords

Many of them are esoteric programming languages.

  • APL – A language based on mathematical notation and abstractions
  • Brainfuck – A minimalist esoteric programming language, created for the purpose of having a compiler fit in fewer than 256 bytes. Its predecessor P′′, used to prove assertions about structured programming languages, also used symbols.
  • FALSE – A stack-based minimalist esoteric programming language with syntax consisting mainly of single non-alphanumeric characters
  • Piet – An art-based programming language
  • Plankalkül – An early language developed by German computer pioneer Konrad Zuse; using a symbolic tabular notation
  • Velato – A language whose commands are determined by the sequence of notes in a MIDI file
  • Whitespace – A language based on whitespace characters (spaces, tabs, and line breaks).

[edit] Modifiable parser syntax

  • ChinesePython – A complete translation of the Python scripting language into Chinese
  • HyperTalk – The programming language used in Apple's HyperCard; allows translation via custom resources
  • Macintosh AppleScript – once allowed for different "dialects" including French and Japanese; however, these were removed in later versions
  • 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 Lingua::Romana::Perligata module which allows programs to be written in Latin.
  • Protium – a language designed to support any possible human language
  • Maude - Completely user definable syntax and semantics, within the bounds of the ASCII character set[5]

[edit] References

[edit] Sources

[edit] External links