Non-English-based programming languages

From Wikipedia, the free encyclopedia
Jump to navigation Jump to search

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

Prevalence of English-based programming languages[edit]

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 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.

In other words, over a third of all programming languages were developed in a country with English as 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 (see the case of Python from the Netherlands, Ruby from Japan, and Lua from Brazil), and situations where it was based on another language which used English (see the case of Caml, developed in France but using English keywords).

International programming languages[edit]

ALGOL 68's standard document was published in numerous natural languages, and the standard allowed the internationalisation of the 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, Bulgarian, and then later Japanese. The standard was made available also 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 case statement reads case ~ in ~ out ~ esac. In Russian, this reads выб ~ в ~ либо ~ быв.

Based on non-English languages[edit]

Languages based on symbols instead of keywords[edit]

Modifiable parser syntax[edit]

  • Babylscript – 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.
  • Ring – Open-source programming language, user defined syntax/operator (ChangeRingkeyword / ChangeRingOperator command; can use UTF-8 string, keywords, operators), and supports natural language programming paradigms.
  • Component Pascal – A preprocessor that translates native-language keywords into English in an educational version of the BlackBox Component Builder available as open source.[3] 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 (e.g., the Kabardian language has been tried as a proof of concept).
  • HyperTalk – A programming language, which allows translation via custom resources, used in Apple's HyperCard.
  • IronPerunis – An IronPython 2.7 localisation to Lithuanian and Russian.
  • AppleScript – A language which once allowed for different "dialects"[40] 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.[41]
  • 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 or his Lingua::tlhInganHol::yIghun Perl language in Klingon. They do not just change the keywords but also the grammar to match the language.
  • Perunis – Python 2.6 localization to Lithuanian and Russian.
  • Ioke – Ioke is a folding language. It allows writing highly expressive code that writes code. Examples of same program in Chinese, Danish, Hindi and Spanish


  1. ^ In HOPL (History of Programming Languages), advanced search finds languages by country.
  2. ^ "GOST 27974-88 Programming language ALGOL 68 - Язык программирования АЛГОЛ 68" (PDF) (in Russian). GOST. 1988. Retrieved November 15, 2008.
  3. ^ "GOST 27975-88 Programming language ALGOL 68 extended - Язык программирования АЛГОЛ 68 расширенный" (PDF) (in Russian). GOST. 1988. Retrieved November 15, 2008.
  4. ^ "Aheui", Esolang (wiki).
  5. ^ Ammoria, SourceForge.
  6. ^ Analitik, ACM.
  7. ^ Эль-76, Кірыліца ў сеціве.
  8. ^ primitivorm/latino
  9. ^ Haris Hasanudin, BAIK Scripting Language
  10. ^ Marcel Labelle, Les langages de programmation (PDF).
  11. ^ ChaScript: Breaking the language barrier using Bengali programming system, IEEE.
  12. ^ Chascript.
  13. ^ "中蟒 (中文 Python) 編程語言網站 chinesepython". Retrieved 12 September 2018.
  14. ^ "Dolittle", EPlang, JP.
  15. ^ Students, UTA.
  16. ^ GPT, DE: Berlios.
  17. ^ Manual del lenguaje GarGar [GarGar Manual] (in Spanish), archived from the original on Nov 5, 2016.
  18. ^ An interpreter for ΓΛΩΣΣΑ.
  19. ^ GOTO++.
  20. ^ ひまわり-日本語プログラミング言語 (in Japanese), Kujira hand.
  21. ^ Hindi programming language, SKT network.
  22. ^ hForth, Taygeta.
  23. ^ "Squeak", Crew, JP: Keio.
  24. ^ IA eng (PDF).
  25. ^ Lusus Language
  26. ^ 日本語プログラミング言語 Mind (in Japanese), JP: Scripts lab.
  27. ^ C/S Entwicklungsumgebung ML4, ML-Software.
  28. ^ Nadesi.
  29. ^ Japanese Programming Language Nadesiko, Project Hosting.
  30. ^ Phoenix, SourceForge.
  31. ^ QLB lang, archived from the original on 2013-01-17.
  32. ^ Qriollo, Qriollo.
  33. ^ RDR, Utopia T.
  34. ^ "Blazeeboy". Github. Retrieved 2013-08-19. |contribution= ignored (help)
  35. ^ Sí website
  36. ^ Ganesh (PDF), Infitt, 2003.
  37. ^ Windev (in Chinese)
  38. ^ Yorlang, Github
  39. ^ Temkin (August 2015). "Light Pattern: Writing Code with Photographs". Leonardo. 48 (4): 375–381. doi:10.1162/LEON_a_01091.
  40. ^
  41. ^ Language Design in Maude, by matthias, 2006/06/05, LShift Ltd.


External links[edit]