Hubbry Logo
Non-English-based programming languagesNon-English-based programming languagesMain
Open search
Non-English-based programming languages
Community hub
Non-English-based programming languages
logo
7 pages, 0 posts
0 subscribers
Be the first to start a discussion here.
Be the first to start a discussion here.
Non-English-based programming languages
Non-English-based programming languages
from Wikipedia

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

[edit]

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,[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. 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 programming 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 programming language which used English.

International programming languages

[edit]

The concept of international-style programming languages was inspired by the work of British computer scientists Christopher Strachey, Peter Landin, and others. It represents a class of languages of which the line of the algorithmic languages ALGOL was exemplary.

ALGOL 68

[edit]

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" (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 also available in Braille[clarification needed]. 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 выб ~ в ~ либо ~ быв.

Citrine

[edit]

Localization is the core feature of the Citrine Programming Language. Citrine is designed to be translatable to every written human language. For instance the West Frisian language version is called Citrine/FY. Citrine features localized keywords, localized numbers and localized punctuation. Users can translate code files from one language into another using a string-based approach. At the time of writing, Citrine supports 111 human languages. Support is not limited to well-known languages; all natural human languages up to EGIDS-6 are being accepted for inclusion.

Hedy

[edit]

Hedy is an open-source programming language which was developed for programming education. It was designed to be as instructive as possible and as accessible as possible with a few unique features. As of September 2024 it supports 47 different languages,[4] meaning its keywords can be typed in any of those. It supports languages that do not use the Latin alphabet for their keywords and variable names and it also supports more numbering systems than Arabic numerals, like Eastern Arabic numerals. All of these can be used interchangeably. The error messages are quite verbose, explaining what is wrong and what might be a fix.

Scheme

[edit]

While internationalization is not a part of any Scheme standard, the expressiveness and flexibility of the language allows for the addition of internationalization as a library. International Scheme is an open source project to which anyone can contribute a translation. Since translations of Scheme can be loaded as libraries, Scheme programs can be multilingual.

Scratch

[edit]

Scratch is a block-based educational language. The text of the blocks is translated into many languages, and users can select different translations. Unicode characters are supported in variable and list names. (Scratch lists are not stored inside variables the way arrays or lists are handled in most languages. Variables only store strings, numbers, and, with workarounds, Boolean values, while lists are a separate data type that store sequences of these values.) Projects can be "translated" by simply changing the language of the editor, although this does not translate the variable names.

Based on non-English languages

[edit]
Programming languages based on human languages other than English
Basis Name Description Link
Alsatian Alsatran A version of Fortran with keywords and built-in identifiers all translated to Alsatian. [5]
Amharic AxumLight / Geez# Amharic-based programming language on the .NET platform [6]
BunnaScript A multilingual JavaScript and TypeScript programming language that enables writing computer code in the user's native language. Currently supports Amharic language. [7]
Arabic Al-Khawarizm Middle-level language for system programming with custom IDE. Intended for professional purpose. Supports Windows and Linux platforms. First design and development in 2008. Development status: active. [8]
Jeem Arabic procedural programming language that uses features from both C and Pascal. Supports simple graphics. Intended for educational purposes. Developed by Mohammad Ammar Alsalka. Released in 2006. [9]
ARLOGO An open-source language based on the UCB Logo interpreter.
Ebda3 A multi-paradigm high-level programming language.
Qalb A Scheme-like programming language.[10] [11]
Kalimat A programming language that aims to help Arab children learn about programming.[12]
Ammoria Object-oriented language [13]
Loughaty (MyProLang) A general-purpose natural Arabic programming language based on a proprietary syntax.[14]
Phoenix A C-like high-level imperative procedural language. [15]
Seen A Bilingual English/Arabic based language that transpiles to Rust. [16]
Azerbaijani Nasimi An Azerbaijani implementation of Python. [17]
Bengali ChaScript Built using ECMAScript grammar.[18] [19]
Chinese Chinese BASIC Chinese-localized BASIC dialects based on Applesoft BASIC; for Taiwanese Apple II clones and the Multitech Microprofessor II.
ChinesePython [zh] (ZhPy) A version of Python with keywords and built-in identifiers all translated to Chinese. [20]
Easy Programming Language A Chinese rapid application development language.
Wenyan An esoteric language that closely follows the grammar and sentence structure of Classical Chinese; it compiles to JavaScript and Python (with C, etc. forthcoming). wenyan-lang on GitHub [21]
Czech and Slovak Karel An educational programming language with Czech and Slovak versions.
Dutch Superlogo Created for computer-aided instruction, based on Logo.
Drama An assembly language for educational purposes.
Finnish sampo An educational Forth-like programming language used in the 1980s by a high school in the city of Oulu.
Tampio Made to look like a natural language. Object-oriented. tampio on GitHub
French GOTO++ An esoteric programming language loosely based on French and English. [22]
Linotte
LSE (Language Symbolique d'Enseignement) A pedagogical programming language designed in the 1970s at the École Supérieure d'Électricité. A kind of BASIC, but with procedures, functions, and local variables, like in Pascal.
BASICOIS BASIC with French keywords[23]
SPIP Templating language with French syntax[24]
WLangage [fr] WinDev [fr] programming language
Rouille Rust translated into French[25] rouille on GitHub
German Teuton A German implementation of Python. [26]
Schlange Another German implementation of Python. [27]
Robot Karol [de] A 3D implementation and German translation of Karel used for educational purposes in secondary education.
Greek Glossa Based on Pascal, used for educational purposes in secondary education. [28]
M2000 Programming Environment using Greek and or English Keywords. Basic like language (interpreter) with over 500 Keywords, including OOP, Threads, Events, Lambda Functions. List of BASIC dialects,

Environment on GitHub

Hausa Hapy Hausa Programming language that compiles to Python, for educational purposes. [29]
Hebrew TamliLogo A Hebrew implementation of Logo. [30]
Genesis An esoteric programming language based on "Paleo-Hebrew". [31]
Hindi OM Lang OM Lang is a multilingual, statically typed programming language that supports more than 9+ Indian languages. OM Lang is very similar to GO, C and Rust. It has its own interpreter and compiler.

,[32][33]

Bharat programming language A Hindi programming language with core functionality like loops, function, classes, and structures. Its interpreter is written in Python, and can be installed locally or used online.

[34]

Kalaam.io Kalaam is a programming language in Hindi and has all the core functionality of a modern programming language, such as for loops, while loops, functions and conditional statements. Kalaam has its own parser, interpreter, virtual memory stack and it executes source code from a parse tree. [35]
Bhailang Bhailang is a dynamically typed toy programming language based on an inside joke, written in Typescript. [36]
Hindi Programming Language A Hindi programming language for the .NET Framework. [37]
W language A Hindi translated HTML language w language on GitHub
Hindi, Bengali, Gujarati Hindawi Programming System A set of variants of C, C++, lex, yacc, assembly, BASIC, and Logo
Icelandic Fjölnir An imperative programming language from the 1980s.
Indonesian BAIK C with Indonesian keywords. BAIK on SourceForge
Irish Setanta High level general purpose language that runs in the browser. Contains a graphics API that can be used to make games and animations [38]
Italian CadregaLisp A Lisp dialect based a comedian sketch of Aldo Giovanni and Giacomo [39] on GitHub
GomorraSQL A SQL dialect based upon the Italian series Gomorrah [40] on GitHub
Monicelli An esoteric programming language based upon the so-called "Supercazzola" of the movie My Friends monicelli on GitHub
Japanese Dolittle Developed for educational purposes. Freeware. [41]
Himawari [ja] (ひまわり) Succeeded by Nadeshiko. Freeware. [42]
Kotodama (ことだま) on Squeak Based on Squeak. For educational purposes. [43]
Mind [ja] A variant of FORTH.[44] Commercial. [45]
Nadeshiko [ja] (なでしこ) Successor of Himawari. Open source freeware. Chosen (along with MIT Scratch) in one of the 3 official textbooks of technical arts for junior high schools in Japan, from 2022.[46][47] [48]
Produire [ja] An object-oriented Japanese programming language. Successor of TTSneo. Freeware. [49]
TTSneo [ja] A Japanese programming language. Succeeded by Produire. Freeware. [50]
Unchiku (うんちく) A Japanese programming language. Has limited functions/operations. Developed for educational purposes. [51]
Javanese sawa A Javanese translated Python language. sawa on GitHub
Korean Ssiat (씨앗) A language using Hangul (Korean). The name Ssiat (씨앗) means "seed" in Korean.
Aheui [ko] (아희) An esoteric programming language similar to Befunge but using Hangul[52]
Changjo (창조) A language using Hangul. It is used for multimedia and game programming.
hForth A Forth system with an optional Korean keyword set. [53]
Latin Lusus
Lingua::Romana::Perligata Alternative Syntax for Perl 5 that allows programming in Latin. [54]
Latvian LVskripts Javascript translated into Latvian. [55] on GitHub
Dzintars Ruby translated into Latvian. dzintars on GitHub
Lithuanian Setonas Python translated into Lithuanian. setonas on GitHub
Malay Malaybasic BASIC with Malay keywords [56]
Malayalam Thengascript A dialect of JavaScript in the Malayalam language. [57]
Malluscript An esoteric scripting language made with Rust based on Manglish with an aim to provide inclusivity and diversity in programming. [58]
Nehiyawewin/Cree Ancestral Code (Cree#) An IDE and language based on the Nehiyaw (Cree) language and cultural storytelling practice. [59]
Persian Farsinet An object-oriented programming language for .NET Framework. It is similar to C# and Delphi. [60]
Kharazmi A Persian programming language and IDE designed to teach programming to middle school students, similar to Pascal
Zangar Zangar (Persian for Rust) allows you to write Rust programs in Persian, using Persian keywords and function names. It is adapted from Rouille, the original French implementation of Rust. zangar on GitHub
Kati (زبان کاتی) An online programming language in Persian language. [61]
Hashemi (آقای هاشمی) forked from "SimpleLanguage" that is a simple example language built using the Truffle API. mr-hashemi on GitHub
Simorgh (SPL) SPL has been invented with the aim that non-technical people would be able to produce their own portable applications which can be written in their own native language. [62]
Polish AC-Logo Logo with Polish commands IDŹ, OTO, NAPRZÓD etc. created in 1992
SAKO A language created in the 1950s and nicknamed the "Polish Fortran"
EOL Expression-Oriented Language allowed for the use of both Polish and English keywords.
Zdzich Amateur programming language for DOS. [63]
Portuguese Delégua A general purpose programming language, for educational and commercial purposes. [64]
VisuAlg A language designed to teach programming, based on Pascal. [65]
potigol A functional programming language in Portuguese for beginners. [66]
Portugol [pt] A programming language with Portuguese keywords.
Portugol Studio [pt] A variation of Portugol that based in C and PHP for learning purposes. [67]
G-Portugol A variation of Portugol. gpt on GitHub
NPortugol A .NET Programming language for embedded scripts. A variation of Portugol. [68]
Russian 1C:Enterprise A framework and language for business applications. English keywords can also be used.
РАПИРА An interpreted procedural programming language with strong dynamic type system.
Аналитик A language for symbolic manipulations with algebraic expressions used in the Soviet series of MIR computers.[69]
Эль-76 A language for symbolic manipulations with algebraic expressions used in the Soviet series of Elbrus computers.[70]
ЯМБ [ru] ЯМБ (язык машин бухгалтерских) (machine language for accounting machines) – A Russian programming language for Iskra-554, Iskra-555, and Neva-501 specialized accounting computers.
КуМир [ru] Similar to Pascal and IDE, mainly intended for educational usage in schools. The name is an acronym, which means Комплект ученический 'Мир' ('Mir' student's environment).
Робик A simple language for teaching the basics of programming to children.
ЯАП A language used on Nairi
АЛМИР-65 A language used on MIR
УАЯ [ru] A language to study programming
ХУЯ A language to study programming [71]
Sanskrit [72] OM Lang is a statically typed, multilingual programming language with first-class support for Sanskrit. It claims to be the world's first Sanskrit programming language, offering Sanskrit keywords and syntax. The language aims to experiment with using Sanskrit in programming. [73]
Serbian Ћ плус плус Ћ плус плус (Serbian, "C plus plus") is a JavaScript like programming language based on Cyrillic script [74]
Sinhala [75] Ceylonicus, the first Sinhala-based programming language:

Ceylonicus is an open-source, interpreted, and functional programming language designed to bridge the gap between English and Sinhala syntax within a unified codebase. As a Sinhala Programming Language, it empowers developers to express their ideas in both languages seamlessly. Ceylonicus is implemented in Python, and features a web-based environment, built usingBrython.

,[76] Source Code Ceylonicus Source Code on GitHub
Spanish GarGar A procedural programming language based on Pascal for learning purposes.[77]
Vainilla A pseudocode interpreter for Spanish that runs in the browser. [78]
PSeInt A pseudocode interpreter for Spanish, like Pascal, with a completely Spanish-based syntax. PSeInt is an abbreviation for Pseudocode Interpreter.
Qriollo An impure strict functional programming language that compiles to C, Python, and JVM Bytecode, with keywords in Rioplatense Spanish, spoken in Buenos Aires. [79]
Latino [es] A language with a completely Spanish-based syntax. [80]
A direct translation pseudo-language for coding in C and C++ with Spanish keywords. [81]
Pauscal [es] A language with a completely Spanish-based syntax; compiler for 32-bit Windows.
InformATE [es] A translation of Inform, used for creating text-based games.
EsJS An interpreted programming language with Spanish syntax, based on JavaScript. ,[82][83][84] esjs on GitHub
Swahili swap Swahili Programming Language; it is an educational programming language built over Nodejs, It was built as way to help Swahili speakers to easily grasp the concept of coding and programming in general. [85][86]
Swedish Enkelt A language with a completely Swedish-based syntax. Transpiled to Python. [87]
Tagalog Bato Ruby translated into Tagalog. bato on GitHub
Tamil Ezhil Developed for educational purposes.
eTamil The purpose of eTamil is to be an Indian DSL for Accounts & Fintech. eTamil on GitHub
Swaram A simple, general-purpose and procedural language.[88]
Agaram A simple, Tamil programming language with interpreter and compiler. Agaram-programming-language on GitHub
Niral A Tamil programming language with Tamil & Latin script.[89]
Thendral Thendral is a transpiler - Translates thendral ( a scripting language in Tamil ) to valid JavaScript thendral on GitHub
Maghilchi It is an interpreted language with a natural language-like syntax with Tamil words.[90]
W language HTML translation in Tamil language w language on GitHub
Turkish Yakamoz A Turkish implementation similar to that of Python. [91]
Urdu UrduScript A dialect of JavaScript. [92]
Welsh Draig A Welsh implementation of Raku [93]
Yoruba Yorlang Built on top of Node.js. [94]
Various Logo In one of its Apple II editions, it was available in French. A version used in Bulgarian education with Bulgarian Apple II clones was translated in Bulgarian. LOGO for the Commodore 64 had an Italian localization.
4th Dimension On local versions, its internal language uses French or German keywords.
FOCAL Keywords were originally in English, but DEC produced versions of FOCAL in several European languages.
Mama An educational programming language and development environment, designed to help young students start programming by building 3D animations and games. It is currently available in English, Hebrew, Yiddish, and Chinese.
MS Word and MS Excel Their macro languages used to be localized in non-English languages.
ML4 A language for client/server database programming, with keywords in English or German.[95]
RoboMind An educational programming language available in Arabic, Chinese, Dutch, English, French, German, Greek, Polish, Brazilian Portuguese, Spanish, Swedish, and Turkish.
Scratch An introductory visual programming language from MIT's Media Lab with support for programming in multiple languages included as standard.
Catrobat A visual programming language targeted at teenagers with support for more than 60 languages like Slovenian, Polish, Hindi, German, Romanian, Turkish, Norwegian, Akan, Twi, Hebrew, Chinese Simplified, Indonesian, Swedish, Chinese Traditional, Portuguese, Brazilian, Croatian, Bosnian, Thai, Japanese, Sindhi, Tamil, Swahili, Arabic, Persian, Korean, Serbian (Cyrillic), Serbian (Latin), Bengali, French, Slovak, Vietnamese, Italian, Macedonian, Russian, Portuguese, English, Canada, Czech, Sinhala, Azerbaijani, Kazakh, Dutch, Catalan, Albanian, Pashto, Gujarati, Finnish, Malay, Lithuanian, Malayalam, Danish, Hungarian, Afrikaans, Kannada, Greek, Bulgarian, Galician, Urdu (Pakistan), English, Australia, English, United Kingdom, Telugu, Ukrainian, Hausa and Igbo. [96]

Catroid on GitHub Catty on GitHub

TECO The programming language used to drive the actions of the TECO text editor. The MIT dialect of this language was used to program early versions of Emacs before its 1985 rewrite in Emacs Lisp.
TI-Calculator BASIC The 68000 version is localized. Various configuration strings are localized too, preventing direct binary compatibility.
Citrine Programming language that can be used to code in any native human language, includes a translator module to translate code from one human language to another. At the time of writing it supports English, Dutch, Lithuanian and Romanian.

Based on symbols instead of keywords

[edit]
  • APL – A language based on mathematical notation and abstractions.
  • Brainfuck – A minimalist esoteric programming language, created for the purpose of having the smallest possible compiler.[97]
  • Emojicode – An esoteric language based on Emojis.
  • G – Graphical language used in LabVIEW (not to be confused with G-code).
  • Hoon – A systems programming language for Urbit, compiling to Nock.
  • J – An APL-like language which uses only ASCII special characters and adds function-level programming.
  • Light Pattern – A language which uses a series of photographs rather than text as source code.[98]
  • Mouse – A minimalist language created by Peter Grogono which uses ASCII characters for keywords.
  • Piet – An art-based esoteric programming language.
  • Plankalkül – The first high-level non-von Neumann programming language, designed by Konrad Zuse during World War II in Germany.
  • Whitespace – An esoteric language based on whitespace characters (spaces, tabs, and line breaks).

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.
  • Component Pascal – A preprocessor that translates native-language keywords into English in an educational version of the BlackBox Component Builder available as open source.[1] 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 localization to Lithuanian and Russian.
  • AppleScript – A language which once allowed for different "dialects"[99] 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.[100]
  • 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 Michael G. Schwern's Lingua::tlhInganHol::yIghun Perl language in Klingon. They do not just change the keywords but also the grammar to match the language.
  • 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

References

[edit]

Sources

[edit]
[edit]
Revisions and contributorsEdit on WikipediaRead on Wikipedia
from Grokipedia
Non-English-based programming languages are programming languages whose keywords, syntax, and core constructs derive from non-English natural languages, rather than relying on English-derived terms like "if," "while," or "function" that characterize the vast majority of programming languages. This design choice aims to reduce linguistic barriers for non-native English speakers, making coding more intuitive and inclusive by aligning with users' primary languages. Despite the dominance of English in computing—stemming from the field's origins in English-speaking countries during the mid-20th century—non-English-based languages represent growing efforts to address global diversity in programming education and practice. These languages often emerge as educational tools, esoteric experiments, or practical systems tailored to specific linguistic communities, tackling challenges like ASCII limitations and cultural biases in software design. Notable examples include Qalb (قلب), a functional, Scheme-inspired language written entirely in Arabic script to challenge Eurocentric norms in coding, developed in 2012 by Ramsey Nasser as an artistic exploration of cultural impacts on computer science; Wenyan-lang (文言), an esoteric language from 2019 that emulates classical Chinese grammar and literature, compiling to JavaScript or Python for creative and heritage-driven programming; 易语言 (Yì Yǔyán or E Language), a proprietary, compiled language launched in the early 2000s by Wu Tao, featuring bilingual Chinese-English keywords, cross-platform support, and widespread use in China for applications involving databases, multimedia, and system scripting; and Latino, an open-source, high-level language with Spanish syntax influenced by Python and Lua, initiated in 2015 to facilitate computer science education in Latin America through clean, semicolon-free code for web, math, and database tasks. Such languages underscore ongoing research into multilingual tools, revealing that non-native English speakers, who form the majority of the global developer population, face significant hurdles in learning English-based syntax, prompting calls for native-language interfaces to boost accessibility and retention.

Historical Context and Motivations

Dominance of English-Based Languages

The dominance of English-based programming languages originated during the and , when were concentrated there. , released by in 1957, was the first widely adopted , designed for scientific and applications with keywords drawn from English to align with the linguistic background of its primary users in American academia and industry. Similarly, , developed in 1959 under the auspices of the U.S. Department of Defense, incorporated English phrasing to support business , reflecting the era's U.S.-centric innovation ecosystem that shaped the foundational standards for subsequent languages. This historical precedent has persisted, resulting in the overwhelming prevalence of English keywords across modern programming languages. A 2025 analysis indicates that approximately 90% of programming languages employ English-based syntax, a pattern reinforced by dominant languages such as Python, , and C++, which together account for a significant share of global . This uniformity stems from the influence of early English-based designs on international standards and the requirements in . For non-native English speakers, this reliance on English introduces substantial barriers, including heightened from translating and internalizing technical terminology during code comprehension and . Research from a 2018 study on computer science education found that such learners face challenges in reading instructional materials, engaging in technical discussions, and writing code, often leading to reduced performance and slower skill acquisition in regions where English is not the primary . A 2019 investigation further confirmed that non-native speakers encounter more severe obstacles in programming acquisition compared to native speakers, exacerbating educational disparities. The broader industry implications of English dominance are profound, as it permeates , libraries, APIs, and developer communities, creating exclusionary effects for the global majority. With roughly 75% of the world's population unable to speak English, this linguistic barrier limits access to programming resources and opportunities, hindering participation in the tech sector for billions in non-English-speaking countries. Over 80% of technical remains in English, compounding these issues and underscoring the need for more inclusive practices in software development ecosystems.

Reasons for Non-English Alternatives

Non-English-based programming languages address significant accessibility barriers for speakers in regions with low English proficiency, such as , , and the , where English keywords in code and documentation exacerbate the . A global survey of 840 non-native English speakers from 86 revealed that 35% struggle with reading instructional due to language issues, 16% face difficulties reading because of English-based keywords, and 11% encounter challenges writing involving English naming conventions. In , respondents from like and highlighted a scarcity of native- resources, while in , such as , outdated or limited materials hinder progress, and speakers in the report suboptimal support. These languages mitigate such obstacles by aligning syntax with users' primary tongues, thereby broadening participation in programming and . Cognitive benefits arise from matching programming syntax to the user's native language, facilitating faster comprehension and reducing during learning. In a study with undergraduate students in learning data structures, those receiving bilingual instruction (English and Tamil) reported enhanced understanding of complex concepts through native-language explanations, and expressed positive opinions about the approach due to increased comfort and . Participants noted that mixing languages helped clarify ideas and maintained attentiveness, though quantitative learning outcomes showed no significant differences between groups. Such approaches promote deeper conceptual grasp, particularly for beginners, by leveraging familiarity with native linguistic structures. These alternatives support cultural and educational integration by programming instruction within local curricula, enabling children to learn coding concepts through their primary languages and fostering early STEM engagement without language barriers. The European Union's policy emphasizes innovative digital tools for language learning in , recommending proficiency in the mother tongue plus two additional languages by upper secondary level to leverage multilingual classrooms as resources. This alignment enhances inclusivity, allowing programming to be taught alongside native cultural contexts and reducing dropout rates in diverse educational settings. Globalization efforts, including and initiatives since the 2000s, underscore the push for linguistic diversity in technology to promote equitable digital access. 's Language Technologies for All (LT4All) conference and the forthcoming Global Roadmap for in the Digital advance language technologies to empower underrepresented communities, aligning with the International Decade of Indigenous Languages (2022-2032) and the 2003 Recommendation on and Universal Access to . Similarly, the 's policy promotes language diversity for competitiveness and dialogue, funding projects like Erasmus+ to integrate multilingual digital education. Specific drivers include localization demands in enterprise software for markets like Russia and China, where adapting tools to native languages ensures broader adoption, alongside broader inclusivity goals in global education to democratize technical skills.

Languages Using Non-English Natural Language Keywords

Based on Romance or Germanic Languages

Programming languages based on Romance or Germanic languages typically adapt the structural paradigms of established English-based languages, such as BASIC or Python, by replacing keywords with direct translations from the target natural language. This approach aims to lower the entry barrier for non-English speakers, particularly in educational settings, by aligning syntax with familiar vocabulary while preserving core programming concepts like conditionals, loops, and output operations. One prominent example is Latino, a developed starting in 2015 that uses Spanish keywords and syntax inspired by Python and . In Latino, constructs like the conditional statement use "si" instead of "if", and loops employ "para" for iteration, enabling code such as si (condicion) { imprimir("mensaje") } to feel more intuitive for Spanish speakers. Designed primarily for educational purposes in , Latino supports full functionality for tasks like file handling and , but its adoption remains niche outside contexts. In the French context, LSE (Langage Symbolique d'Enseignement), created in the early 1970s at Supélec for educational use in French high schools, exemplifies a BASIC-like language with French keywords. Keywords include "SI" for conditionals, "POUR" for loops, and "IMPRIMER" for output, allowing programs to read more like natural French sentences, such as SI X > 0 ALORS IMPRIMER "Positif". Developed to promote informatics education without requiring English proficiency, LSE was implemented on minicomputers like the Télémécanique machines and influenced subsequent French teaching tools, though it saw limited commercial use beyond academia. For Portuguese, is a statically typed language that incorporates Portuguese constructs, using terms like "imprimir" for printing and "se" for if-statements, as in imprimir("Olá mundo"). Released as an open-source project, it targets Brazilian developers and educators, facilitating syntax adaptations for regional , but like similar efforts, it has not achieved widespread production deployment. Germanic adaptations include experimental efforts like Dava, a modified version of where keywords are translated to German equivalents, such as "wenn" for "if" and "drucken" for "print". Created as a proof-of-concept, it demonstrates how object-oriented syntax can be localized for German-speaking users, primarily for exploratory or humorous purposes rather than serious development. These languages, including variants of FOCAL from the 1960s-1970s with French and German keywords produced by DEC for European markets, highlight a pattern of educational and regional focus with constrained broader impact. Overall, such languages serve mainly in and localized applications, fostering in non-English-dominant regions while facing challenges in and community scale compared to English-based standards.

Based on Asian or Middle Eastern Languages

Non-English-based programming languages drawing from Asian or Middle Eastern natural languages primarily incorporate logographic scripts like or right-to-left (RTL) alphabets such as to replace English keywords, aiming to reduce linguistic barriers for native speakers in regions where English proficiency varies. These designs often translate or reinterpret established paradigms, such as imperative or , into culturally resonant syntax, though they face technical hurdles in script rendering and tool integration. Examples include adaptations for educational purposes in and exploratory projects in Arabic-speaking communities, highlighting motivations like inclusivity and cultural expression over widespread commercial adoption. Zhpy, developed in the late 2000s as "Chinese Python," is a Python dialect that translates English keywords into , enabling full programs in Simplified or Traditional Chinese while maintaining Python's semantics. For instance, the English print statement becomes 打印, allowing code like 打印 '你好世界' to output "Hello World" after bidirectional translation to standard Python. Released as a Python module compatible with versions 2.4 and 2.5, Zhpy includes a shell, , and embedding tools, primarily used for language learning in Chinese-speaking regions by simplifying syntax exposure for beginners. Its support handles logographic characters seamlessly, though it requires conversion for execution in English-based environments. Wenyan-lang, launched in December 2019, is an esoteric Turing-complete language that emulates the grammar and aesthetics of , using traditional characters to compose programs resembling ancient . Created by developer Lingdong Huang, it compiles to , Python, or , with an online IDE for experimentation; a simple output command like 書之曰「問天地好在。」 prints "How are heaven and earth?" in a style evoking Confucian texts. Variable declarations follow poetic structures, such as 有數三。名之「一」, assigning the value 3 to variable "一," while conditionals use phrases like 若真則 for "if true." Recognized by as the first programming language, Wenyan-lang serves artistic and educational goals, fostering appreciation for through computation. Qalb (قلب, meaning "heart"), developed in 2012 and introduced in 2013 by Ramsey Nasser, is a functional, Scheme-inspired written entirely in , with RTL syntax to mirror natural reading direction and challenge Eurocentric biases in programming. Keywords include Arabic terms like إذا for conditional statements and اكتب for output, as in a "Hello World" program: اكتب "مرحبا بالعالم", which executes via a interpreter. Designed for Arab developers, it supports core features like and lists but remains a proof-of-concept, debuted at Eyebeam's showcase to explore cultural impacts on code aesthetics. Qalb's adoption is niche, focused on awareness rather than production use, with implementations like a game (بونج) demonstrating feasibility in creative contexts. In , academic and hobbyist experiments in the and have produced languages like Unchiku (うんちく), an educational tool from 2018 resembling natural Japanese for beginners, and Haku, a 2021 functional language based on literary Japanese syntax. Unchiku, awarded at Tech Kids Grand Prix, limits operations to basics like loops and conditionals in hiragana/, aiding non-English learners without altering core logic. Haku, implemented in Raku, parses sentences like subject-object-verb structures for functional constructs, drawing from classical texts to prototype natural-language-like programming. These efforts parallel Western non-English adaptations but emphasize Japan's mixed scripts (, hiragana), though mainstream Japanese development sticks to English keywords due to global tool ecosystems. Implementing these languages involves significant challenges, particularly with logographic scripts in Chinese-based designs, which demand robust handling to avoid rendering issues in editors and compilers, and RTL flow in Arabic like , complicating mixing with Latin outputs. Adoption remains limited outside education—Zhpy aids Chinese Python tutorials, while inspires Arab coding workshops—but grows in localized contexts to promote , with ongoing experiments addressing script complexity for broader viability.

Based on Other Natural Languages

Non-English-based programming languages based on other natural languages, including constructed and indigenous ones outside major European or Asian families, represent niche efforts to adapt programming paradigms to unique linguistic structures. These languages often prioritize cultural relevance, education, or entertainment over widespread adoption, drawing from constructed languages like or indigenous ones such as to make coding more accessible to specific communities. One prominent example is var'aq, an developed in the early 2000s, inspired by the constructed from the universe. Var'aq uses Klingon vocabulary for its keywords, such as HIja’chugh for conditional execution (translating to "if it is") and qapla’ to signal program completion ("success"), reflecting the language's aggressive, declarative tone. Its syntax adapts by incorporating object-verb structures in control flows, where commands like woD (to discard stack elements, meaning "be gone") emphasize imperative, stack-based operations reminiscent of Forth, but flavored with Klingon's noun-heavy phrasing for procedures. Designed purely for fun and linguistic experimentation, var'aq remains an interpreted, stack-oriented language without practical applications, highlighting the playful side of non-English programming. In contrast, 1C:Enterprise, originating in the 1990s as a business automation platform in Russia, employs Russian Cyrillic keywords to align with its primary user base in enterprise software development. Keywords such as Если (if), Тогда (then), and Иначе (else) mirror Russian sentence structure, allowing developers to write control structures that resemble natural prose, like Если условие Тогда ... КонецЕсли for conditionals. This adaptation of Russian grammar, including verb-subject ordering in loops (e.g., Для каждого элемента Из коллекции Цикл), facilitates readability for non-English speakers in accounting and ERP systems, where it powers millions of installations across post-Soviet regions. While English keywords are optionally available for interoperability, the Russian mode underscores its role in localized business logic without relying on translation. Indigenous language pilots, particularly in educational contexts, include efforts like Nuru, a Swahili-based programming language developed in the early 2020s in to promote among Kiswahili speakers. Nuru's keywords draw from Bantu , using intuitive terms such as andika (print, from "write") and jaza (input, from "fill") in verb-initial constructions that echo Swahili's subject-verb-object patterns, as in kama sharti ni kweli basi ... for if-statements (adapting "if condition is true then"). Limited to prototyping and classroom tools, and remaining under active community-driven development as of 2024, similar initiatives in have explored terms for basic coding concepts in unplugged activities, such as roro hiko for "computer" in logic puzzles, though full languages remain scarce. These projects adapt indigenous by integrating noun classes or conjugation into variable scoping and loops, fostering cultural preservation through technology education in regions like and . Overall, these languages serve niche applications, from esoteric entertainment in var'aq to enterprise productivity in 1C:Enterprise and cultural revitalization in indigenous pilots like Nuru, emphasizing accessibility for diverse linguistic groups without challenging mainstream paradigms.

Symbolic and Non-Textual Programming Languages

Symbol-Based Languages

Symbol-based programming languages utilize mathematical symbols, operators, and custom glyphs in place of textual keywords derived from natural languages, promoting a form of universality that transcends linguistic dependencies. This approach draws from traditions, enabling concise expression of computations, particularly for array-oriented operations, without reliance on English or other verbal constructs. Such languages emerged as a deliberate design choice to facilitate international collaboration in technical fields like and , where symbolic representation is already prevalent. The foundational influence traces back to Kenneth Iverson's development of array-oriented mathematical notation in the late 1950s at Harvard University, initially as a tool for describing data processing algorithms without verbal elements, aimed at global mathematical communities. This notation evolved into the APL programming language in the 1960s, implemented by Iverson and colleagues at IBM, where it was formalized as a full programming system centered on multidimensional arrays. APL employs a rich set of over 100 special graphic symbols to denote primitives, such as ⍳ for the index generator (iota, which produces a vector of sequential integers) and ⍎ for execute (which evaluates a character vector as code), allowing array manipulations to be expressed idiomatically without natural language terms. Designed explicitly for mathematical and scientific computing, APL's symbolic syntax supports terse, readable expressions for complex operations like matrix transformations or statistical analyses. Building on APL's legacy, variants like J and K emerged in the 1990s and 2000s to address practical limitations while retaining symbolic brevity. J, developed by and Roger Hui at Iverson Software Inc., with contributions from Eugene McDonnell and others, extends APL's semantics using ASCII characters for broader accessibility, eschewing special fonts; for instance, +/ denotes the sum (insert) of an array's elements along the last axis, enabling compact reductions such as summing a vector in a single token. Similarly, , created by Arthur Whitney in 1993 as a proprietary dialect, incorporates APL primitives with Scheme-like list handling and restricts symbols to ASCII for high-performance , emphasizing speed in data-intensive tasks. These extensions maintain the non-verbal core, refining APL's design for modern computing environments. A key advantage of symbol-based languages lies in their nature, fostering compact code that reduces —often achieving in a few symbols what requires dozens of lines in textual languages—and enabling portability across cultures without translation needs. In , this conciseness proves valuable for and execution in time-sensitive domains; for example, Dyalog APL, a contemporary , powers trading systems and financial at firms like , where it handles portfolio management and risk calculations efficiently due to its array primitives. However, drawbacks include a steep stemming from the non-mnemonic symbols, which demand memorization and shift programmers' thinking toward tacit, point-free styles rather than procedural narratives. Additionally, traditional APL implementations historically required custom keyboards to input the full set, though modern variants like J and mitigate this via ASCII approximations. These languages represent a non-textual that has inspired visual extensions in later paradigms.

Visual and Iconic Languages

Visual and iconic programming languages represent a from textual code to graphical interfaces, where programming constructs are expressed through draggable blocks, icons, wiring diagrams, or 3D objects rather than alphabetic keywords. This approach renders them inherently adaptable to non-English contexts, as the core logic relies on visual metaphors that transcend linguistic barriers, allowing localization through or minimal text overlays in diverse scripts. Pioneered in the late , these languages prioritize intuitive interaction to facilitate learning and application in fields like and . Scratch, developed in the 2000s by the MIT Media Lab's Lifelong Kindergarten group, exemplifies block-based visual programming with drag-and-drop puzzle-piece icons representing control structures like loops and conditionals. Users snap together colored blocks to script behaviors for sprites in interactive stories, games, and animations, eliminating syntax errors common in text-based coding. The interface supports over 70 languages for block labels, enabling seamless adaptation without altering the underlying visual logic. Alice, originating in the 1990s at the and advanced at from 1997, focuses on 3D animation through object icons that embody programming concepts such as methods and events. Programmers drag icons representing 3D models and actions onto a storyboard timeline, fostering object-oriented thinking in a where code directly manifests as animated scenes. This iconic system supports narrative-driven projects, making abstract ideas tangible without reliance on written commands. LabVIEW, introduced in 1986 by National Instruments, employs a graphical dataflow model where programs are assembled via wiring diagrams connecting functional icons on a block diagram. Engineers wire virtual instruments—represented as icons for data acquisition, analysis, and control—to automate test and measurement systems, with execution flowing visually from left to right. Widely adopted in industrial engineering, its icon-centric design minimizes textual elements, supporting international use through standardized graphical notations. International adaptations of these languages emphasize visual localization, such as Scratch's sprite icons rendered with non-Latin scripts like or Chinese, ensuring accessibility for users unfamiliar with English or Latin alphabets. This approach preserves the iconic essence while overlaying culturally relevant text, as seen in Scratch's volunteer-translated interfaces that maintain block shapes across scripts. Building briefly on symbol-based precursors, these visual systems extend static symbols into dynamic, interactive graphics for broader engagement. The educational impact of visual and iconic languages is profound, lowering entry barriers for beginners by leveraging spatial reasoning over linguistic proficiency, with Scratch alone amassing over 135 million registered users as of 2025. Studies and deployment data highlight their role in democratizing , particularly in diverse linguistic regions, by enabling millions to grasp programming fundamentals through intuitive visuals rather than rote of English terms. Recent growth in user base and ongoing localization efforts continue to expand their global reach.

International and Natural Language-Inspired Designs

Languages Using Auxiliary Languages

Languages using auxiliary languages draw from constructed international auxiliary languages, such as , to create neutral, accessible syntax that minimizes cultural and linguistic biases associated with English-dominated programming paradigms. These languages aim to foster global collaboration by leveraging the designed simplicity and universality of auxiliary languages, which are engineered for ease of learning and . By incorporating elements from these constructed systems, programmers from diverse backgrounds can engage with code without the barrier of learning English-specific terminology, promoting inclusivity in . A key historical example is , developed in the as an imperative language with built-in support for multilingual modes through national variants and syntax extensions. This design allowed for adaptations incorporating national syntax variants, enabling international committees to use terms from various languages in preludes and postludes for keywords and operators, thus supporting global standardization efforts. Actual implementations of programming languages based on auxiliary languages remain rare, with efforts largely confined to theoretical discussions and adaptations like those in ALGOL 68.

Natural Language Programming Interfaces

Natural language programming interfaces enable users to write code using everyday spoken or written vernaculars from various languages, relying on computational parsing to interpret intent rather than enforcing rigid syntactic keywords. These systems leverage (NLP) techniques, such as tokenization, syntactic analysis, and semantic interpretation, to convert colloquial expressions into executable instructions. This approach contrasts with traditional programming by prioritizing accessibility over precision, though it often faces challenges in resolving ambiguities inherent in human language, like or contextual nuances, which can lead to misinterpretation of . One prominent example is Hedy, a gradual programming language introduced in the 2020s, designed specifically for educational purposes and supporting over 30 natural languages, including Dutch, Spanish, and others. In Hedy, users can program using simple vernacular phrases, such as "if age > 18 say hello" translated into Dutch ("als leeftijd > 18 zeg hallo") or Spanish ("si edad > 18 di hola"), which the system parses progressively from basic to more structured syntax levels. Developed by Felienne Hermans, Hedy employs NLP for intent recognition, starting with keyword matching and evolving to handle conditionals and loops without punctuation or indentation in early levels. Its multilingual parser draws from curated grammars and models trained on common educational constructs, making it adaptable to non-English inputs while mitigating some ambiguity through level-specific constraints. Inform 7, originating in the 2000s, represents an earlier effort in interfaces tailored for authoring, primarily using English prose that mimics narrative descriptions. The language parses declarative sentences like "The kitchen is a room" into underlying object models and rules, employing a domain-specific NLP engine focused on intent extraction for game logic. Extensions have enabled support for other languages, such as French, through community-developed language packs that adapt the parser's vocabulary and grammar rules, allowing authors to write scenarios in vernacular French while maintaining the English core's semantic structure. Limitations in resolution persist, particularly with idiomatic expressions, often requiring explicit disambiguation in extensions. Elements of the , enhanced since the 2010s, incorporate semantic parsing for natural queries that can extend to non-English inputs via its integrated NLP system. The Wolfram Natural Language Understanding framework transforms free-form text into computable expressions, supporting multilingual queries through language models that handle semantic intent across languages like French or Spanish by leveraging curated knowledge bases and probabilistic parsing. For instance, a query like "plot the sine function" in Spanish ("grafica la función seno") can be interpreted and executed, though full non-English adaptability relies on the system's growing support for diverse linguistic inputs. These interfaces find primary applications in beginner and , where lowering the entry barrier encourages non-programmers to experiment. Hedy, for example, has been integrated into European school curricula, such as through EU Code Week activities, to teach via in students' native languages, fostering engagement among pre-teens aged 10-15. Despite their promise, the reliance on NLP introduces scalability limits, as advanced ambiguity resolution demands extensive training data per language, often constraining these tools to simpler domains.

Experimental and Advanced Features

Modifiable Syntax Systems

Modifiable syntax systems in programming languages enable users to dynamically customize parsers and syntax rules, allowing the integration of non-English elements or domain-specific notations without altering the core or interpreter. These systems leverage techniques, such as macros and parser generators, to redefine at compile-time or runtime, facilitating adaptable codebases that can incorporate multilingual keywords or alternative grammars. This approach contrasts with fixed-syntax languages by providing flexibility for users to extend the language's surface syntax, often through homoiconic representations where code and data share the same form. Lisp dialects, originating in the , exemplify modifiable syntax through S-expressions, which represent both code and data uniformly, enabling powerful macro systems to redefine syntax. In and its descendants, reader macros and define-syntax macros allow users to introduce custom rules, such as mapping non-English keywords to standard forms; for instance, Clojure's macro system permits defining Tamil equivalents like எனில் for if, translating them to native Clojure code at expansion time via symbol mappings in a dedicated . This capability, rooted in Lisp's , supports syntax redefinition without recompiling the language, as macros generate S-expressions that the evaluator processes seamlessly. Racket, developed in the 2000s as a descendant of Scheme, builds on traditions with advanced language extension tools that allow creating domain-specific languages (DSLs) with customized syntax. Using the #lang directive and macro expander, developers can define new syntactic categories and binding rules, enabling variants that incorporate non-English notations for specialized applications; for example, macros can extend to parse alternative or natural-language-inspired forms while compiling to core Racket semantics. Racket's module system further supports packaging these extensions as standalone languages, promoting reusable syntax modifications across projects. In Python, user-defined parsers via libraries like Parsimonious or facilitate syntax overlays for non-English elements, such as French-inspired keywords, by defining PEG or EBNF grammars that process custom input before invoking the standard interpreter. Parsimonious, a pure-Python PEG parser, supports literals and regexes to handle non-ASCII syntax, allowing runtime construction of parse trees that map alternative keywords to Python AST nodes using NodeVisitor subclasses. Similarly, 's generates annotated trees from context-free grammars, enabling seamless integration of modified syntax without core language changes. These tools exemplify features like exec and AST manipulation, permitting runtime syntax adjustments via dynamic code evaluation. Such systems find use cases in environments and multilingual development teams, where customizable reduces cognitive barriers by aligning with native languages, enhancing without sacrificing ; for instance, teams can DSLs for international projects, adapting for locale-specific keywords while maintaining .

Esoteric Non-English Languages

Esoteric non-English languages form a of esolangs that incorporate non-Latin scripts, non-English grammars, or cultural motifs to explore the intersection of and in unconventional ways, often for artistic or satirical effect rather than practical use. These languages emerged as part of the broader esolang movement, which began in the 1990s with early experiments like but expanded significantly in the 2000s and 2010s through online communities fostering creativity in non-Western hacker cultures. By the 2020s, contributions from diverse regions, including Indigenous communities, highlighted how such languages can critique the Eurocentric foundations of programming while demonstrating the flexibility of computational expression. A notable example is Piet, created by David Morgan-Mar in 2001, an image-based esolang where programs resemble rather than text, rendering it entirely and free from English or any script-based constraints. In Piet, operations are encoded through cycles of 18 colors and block sizes, with the instruction pointer navigating pixel grids like a (color element), allowing "code" to evoke visual poetry without linguistic ties. This design underscores the potential for non-textual programming to bypass cultural biases in syntax, influencing later visual esolangs. Chef, devised by David Morgan-Mar in the mid-2000s, structures programs as culinary recipes with ingredients representing variables and operations mimicking cooking steps, originally in English but adaptable to other languages through translated recipe terminology. Variants in languages like German have been implemented, where terms such as "Zutaten" (ingredients) replace English equivalents, preserving the humorous, non-utilitarian core while localizing the aesthetic for cultural resonance. Such adaptations illustrate how esolangs can blend everyday non-English idioms with computational logic for playful boundary-testing. Brainfuck, the minimalist esolang from 1993 by Urban Müller, has inspired numerous adaptations that remap its eight symbols (+ - < > [ ] . ,) to non-English characters. These substitutions maintain Turing-completeness but introduce script-specific challenges, emphasizing the language's role in probing and internationalization limits. Cultural esolangs further exemplify this trend, such as (قلب), a 2012 functional language by Ramsey Nasser that uses right-to-left for all syntax, designed to produce calligraphic code that "looks beautiful" and subverts Latin-alphabet dominance in programming. Similarly, wenyan-lang, developed in 2019, emulates literary style with poetic constructs like "曰" for output, turning programs into wenyan (literary Chinese) texts to blend ancient aesthetics with modern computation. Indigenous-inspired efforts include Cree#, created by Jon Corbett around 2020, which integrates Nehiyawewin (Plains ) keywords and metaphors, such as spirit-based , to reclaim cultural narratives in code and foster linguistic sovereignty. These works, often shared in global esolang forums, prioritize demonstrating linguistic diversity's computational viability over utility. The of these languages reflects a shift from 1990s symbol-focused to 2020s culturally attuned experiments, enabled by modifiable syntax frameworks that allow of non-standard grammars. platforms have driven this growth, with non-English contributions surging as diverse creators highlight how esolangs can mirror global linguistic pluralism.

References

  1. https://fr.wikibooks.org/wiki/Programmation_LSE
Add your contribution
Related Hubs
User Avatar
No comments yet.