Non-English-based programming languages
Adapted from Wikipedia · Discoverer experience
Non-English-based programming languages are special ways to tell a computer what to do that don't use words from English. Instead, they might use symbols, pictures, or words from other languages to give instructions. This can make programming easier for people who don't speak English well or who prefer using their own language.
These languages show that there are many creative ways to talk to a computer. By using different kinds of words or symbols, programmers can find new and interesting methods to solve problems. It helps make the world of computers more open and friendly to everyone, no matter where they live or what language they speak.
Learning about these languages can be fun and exciting. It shows how people have found clever ways to work with computers using all sorts of ideas from many cultures.
Prevalence of English-based programming languages
Further information: English in computing
Many computer languages use words from English for important parts, like special words that tell the computer what to do. Most of these languages were created in places where English is commonly spoken, such as the United States, the United Kingdom, Canada, and Australia. Even some languages made in other countries, like Python from the Netherlands, Ruby from Japan, and Lua from Brazil, use English words to make them easy for people all over the world to understand.
International programming languages
The idea of international-style programming languages started with work by British computer scientists. These are languages that do not use English words for their commands.
One example is ALGOL 68. Its rules were published in many languages, including Russian, German, French, Bulgarian, Japanese, and even Braille.
The Citrine Programming Language is made to work in any human language. It can be used in languages like West Frisian, and it supports 111 different languages.
Hedy is a programming language made for teaching. As of September 2024, it supports 47 languages and can use different writing systems, like Eastern Arabic numerals.
Scratch is a block-based language for learning. Its blocks can be shown in many languages, and users can pick which language to use.
GTLang lets people write code using their own languages, such as Spanish, French, Russian, and Japanese.
UniversalPython is an experiment to let Python-like code be written in many languages, reducing the need for English words in programming.
Based on non-English languages
Programming languages can sometimes use words that are not from English. This helps people who speak other languages to write code more easily. These languages use words from their own languages instead of English to give commands and names in programs.
| Basis | Name | Description | Link |
|---|---|---|---|
| Alsatian | Alsatran | A version of Fortran with keywords and built-in identifiers all translated to Alsatian. | |
| Amharic | AxumLight / Geez# | Amharic-based programming language on the .NET platform | |
| BunnaScript | A multilingual JavaScript and TypeScript programming language that enables writing computer code in the user's native language. Currently supports Amharic language. | ||
| 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. | |
| 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. | ||
| 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. | ||
| Kalimat | A programming language that aims to help Arab children learn about programming. | ||
| Ammoria | Object-oriented language | ||
| Loughaty (MyProLang) | A general-purpose natural Arabic programming language based on a proprietary syntax. | ||
| Phoenix | A C-like high-level imperative procedural language. | ||
| Seen | A Bilingual English/Arabic based language that transpiles to Rust. | ||
| Azerbaijani | Nasimi | An Azerbaijani implementation of Python. | |
| Bengali | ChaScript | Built using ECMAScript grammar. | |
| Kalpana | An open-source, multilingual dual-paradigm interpreted programming language based on Bangla. | ||
| Chinese | Chinese BASIC | Chinese-localized BASIC dialects based on Applesoft BASIC; for Taiwanese Apple II clones and the Multitech Microprofessor II. | |
| ChinesePython (ZhPy) | A version of Python with keywords and built-in identifiers all translated to Chinese. | ||
| 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 | |
| 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. | |
| 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 | ||
| SPIP | Templating language with French syntax | ||
| WLangage | WinDev programming language | ||
| Rouille | Rust translated into French | rouille on GitHub | |
| German | Teuton | A German implementation of Python. | |
| Schlange | Another German implementation of Python. | ||
| Robot Karol | 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. | |
| 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, | |
| Hausa | Hapy | Hausa Programming language that compiles to Python, for educational purposes. | |
| Hebrew | TamliLogo | A Hebrew implementation of Logo. | |
| Genesis | An esoteric programming language based on "Paleo-Hebrew". | ||
| Codesh (קודש) | An esoteric programming language whose syntax is modeled after the Hebrew Bible. | , The Motzie B'She'ela on GitHub | |
| 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. | , |
| 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. | ||
| Bhailang | Bhailang is a dynamically typed toy programming language based on an inside joke, written in TypeScript. | ||
| Hindi Programming Language | A Hindi programming language for the .NET Framework. | ||
| 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 | |
| Italian | CadregaLisp | A Lisp dialect based a comedian sketch of Aldo Giovanni and Giacomo | on GitHub |
| GomorraSQL | A SQL dialect based upon the Italian series Gomorrah | 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. | |
| Himawari (ひまわり) | Succeeded by Nadeshiko. Freeware. | ||
| Kotodama (ことだま) on Squeak | Based on Squeak. For educational purposes. | ||
| Mind | A variant of FORTH. Commercial. | ||
| Nadeshiko (なでしこ) | 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. | ||
| Produire | An object-oriented Japanese programming language. Successor of TTSneo. Freeware. | ||
| TTSneo | A Japanese programming language. Succeeded by Produire. Freeware. | ||
| Unchiku (うんちく) | A Japanese programming language. Has limited functions/operations. Developed for educational purposes. | ||
| 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 (아희) | An esoteric programming language similar to Befunge but using Hangul | ||
| Changjo (창조) | A language using Hangul. It is used for multimedia and game programming. | ||
| hForth | A Forth system with an optional Korean keyword set. | ||
| Latin | Lusus | ||
| Lingua::Romana::Perligata | Alternative Syntax for Perl 5 that allows programming in Latin. | ||
| Latvian | LVskripts | Javascript translated into Latvian. | on GitHub |
| Dzintars | Ruby translated into Latvian. | dzintars on GitHub | |
| Priede | Interpreted high-level language. Name means pine in latvian. | priede on GitHub | |
| Lithuanian | Setonas | Python translated into Lithuanian. | setonas on GitHub |
| Malay | Malaybasic | BASIC with Malay keywords | |
| Malayalam | Thengascript | A dialect of JavaScript in the Malayalam language. | |
| Malluscript | An esoteric scripting language made with Rust based on Manglish with an aim to provide inclusivity and diversity in programming. | ||
| Nehiyawewin/Cree | Ancestral Code (Cree#) | An IDE and language based on the Nehiyaw (Cree) language and cultural storytelling practice. | |
| Persian | Farsinet | An object-oriented programming language for .NET Framework. It is similar to C# and Delphi. | |
| 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. | ||
| 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. | ||
| 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. | ||
| Portuguese | Delégua | A general purpose programming language, for educational and commercial purposes. | |
| VisuAlg | A language designed to teach programming, based on Pascal. | ||
| potigol | A functional programming language in Portuguese for beginners. | ||
| Portugol | A programming language with Portuguese keywords. | ||
| Portugol Studio | A variation of Portugol that based in C and PHP for learning purposes. | ||
| G-Portugol | A variation of Portugol. | gpt on GitHub | |
| NPortugol | A .NET Programming language for embedded scripts. A variation of Portugol. | ||
| 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. | ||
| Эль-76 | A language for symbolic manipulations with algebraic expressions used in the Soviet series of Elbrus computers. | ||
| ЯМБ | ЯМБ (язык машин бухгалтерских) (machine language for accounting machines) – A Russian programming language for Iskra-554, Iskra-555, and Neva-501 specialized accounting computers. | ||
| КуМир | 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 | ||
| УАЯ | A language to study programming | ||
| ХУЯ | A language to study programming | ||
| Sanskrit | OM Lang | 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. | |
| Serbian | Ћ плус плус | Ћ плус плус (Serbian, "C plus plus") is a JavaScript like programming language based on Cyrillic script | |
| Sinhala | Ceylonicus | An interpreted programming language with interchangeable English and Sinhala keywords, implemented in Python, and with a web-based environment built with Brython. | Source Code Ceylonicus Source Code on GitHub, |
| Spanish | GarGar | A procedural programming language based on Pascal for learning purposes. | |
| Vainilla | A pseudocode interpreter for Spanish that runs in the browser. | ||
| 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. | ||
| Latino | A language with a completely Spanish-based syntax. | ||
| Sí | A direct translation pseudo-language for coding in C and C++ with Spanish keywords. | ||
| Pauscal | A language with a completely Spanish-based syntax; compiler for 32-bit Windows. | ||
| InformATE | A translation of Inform, used for creating text-based games. | ||
| EsJS | An interpreted programming language with Spanish syntax, based on JavaScript. | , 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. | |
| Swedish | Enkelt | A language with a completely Swedish-based syntax. Transpiled to Python. | |
| 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. | ||
| Agaram | A simple, Tamil programming language with interpreter and compiler. | Agaram-programming-language on GitHub | |
| Niral | A Tamil programming language with Tamil & Latin script. | ||
| 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. | ||
| W language | HTML translation in Tamil language | w language on GitHub | |
| Turkish | Yakamoz | A Turkish implementation similar to that of Python. | |
| Kip | A programming language based on grammatical cases of Turkish. Pure function type signatures are Turkish noun phrases, effectful function signatures are verb phrases in infinitive. | kip on GitHub | |
| Urdu | UrduScript | A dialect of JavaScript. | |
| Welsh | Draig | A Welsh implementation of Raku | |
| Yoruba | Yorlang | Built on top of Node.js. | |
| 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. | ||
| 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. | ||
| 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
Some programming languages use symbols instead of English words. For example, APL uses math symbols, and Brainfuck is a very simple language made to have a tiny compiler.
Others use fun ideas like Emojicode, which uses Emojis, or Piet, an art-based language. Plankalkül was one of the first languages like this, created by Konrad Zuse during World War II in Germany.
Modifiable parser syntax
Some programming languages can change their words to match different languages. For example, Babylscript is like JavaScript but can use words from many languages. Component Pascal can change its words to Russian for teaching, and it might work with other languages too, like Kabardian.
HyperTalk is a language used in Apple's HyperCard and can also change its words. IronPerunis is a version of IronPython that uses Lithuanian and Russian words. AppleScript used to have versions in French and Japanese, but not anymore. Maude lets users pick almost any words they like. Perl normally uses English, but you can change it to write programs in Latin or even Klingon, thanks to special tools made by Damian Conway. Ioke is a special language that can write code in many languages, like Chinese, Danish, Hindi, and Spanish.
Related articles
This article is a child-friendly adaptation of the Wikipedia article on Non-English-based programming languages, available under CC BY-SA 4.0.
Safekipedia