Safekipedia

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.

Programming languages based on human languages other than English
BasisNameDescriptionLink
AlsatianAlsatranA version of Fortran with keywords and built-in identifiers all translated to Alsatian.
AmharicAxumLight / Geez#Amharic-based programming language on the .NET platform
BunnaScriptA multilingual JavaScript and TypeScript programming language that enables writing computer code in the user's native language. Currently supports Amharic language.
ArabicAl-KhawarizmMiddle-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.
JeemArabic 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.
ARLOGOAn open-source language based on the UCB Logo interpreter.
Ebda3A multi-paradigm high-level programming language.
QalbA Scheme-like programming language.
KalimatA programming language that aims to help Arab children learn about programming.
AmmoriaObject-oriented language
Loughaty (MyProLang)A general-purpose natural Arabic programming language based on a proprietary syntax.
PhoenixA C-like high-level imperative procedural language.
SeenA Bilingual English/Arabic based language that transpiles to Rust.
AzerbaijaniNasimiAn Azerbaijani implementation of Python.
BengaliChaScriptBuilt using ECMAScript grammar.
KalpanaAn open-source, multilingual dual-paradigm interpreted programming language based on Bangla.
ChineseChinese BASICChinese-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 LanguageA Chinese rapid application development language.
WenyanAn 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 SlovakKarelAn educational programming language with Czech and Slovak versions.
DutchSuperlogoCreated for computer-aided instruction, based on Logo.
DramaAn assembly language for educational purposes.
FinnishsampoAn educational Forth-like programming language used in the 1980s by a high school in the city of Oulu.
TampioMade to look like a natural language. Object-oriented.tampio on GitHub
FrenchGOTO++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.
BASICOISBASIC with French keywords
SPIPTemplating language with French syntax
WLangageWinDev programming language
RouilleRust translated into Frenchrouille on GitHub
GermanTeutonA German implementation of Python.
SchlangeAnother German implementation of Python.
Robot KarolA 3D implementation and German translation of Karel used for educational purposes in secondary education.
GreekGlossaBased on Pascal, used for educational purposes in secondary education.
M2000Programming 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,
HausaHapyHausa Programming language that compiles to Python, for educational purposes.
HebrewTamliLogoA Hebrew implementation of Logo.
GenesisAn 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
HindiOM LangOM 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 languageA 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.
BhailangBhailang is a dynamically typed toy programming language based on an inside joke, written in TypeScript.
Hindi Programming LanguageA Hindi programming language for the .NET Framework.
W languageA Hindi translated HTML languagew language on GitHub
Hindi, Bengali, GujaratiHindawi Programming SystemA set of variants of C, C++, lex, yacc, assembly, BASIC, and Logo
IcelandicFjölnirAn imperative programming language from the 1980s.
IndonesianBAIKC with Indonesian keywords.BAIK on SourceForge
IrishSetantaHigh level general purpose language that runs in the browser. Contains a graphics API that can be used to make games and animations
ItalianCadregaLispA Lisp dialect based a comedian sketch of Aldo Giovanni and Giacomo on GitHub
GomorraSQLA SQL dialect based upon the Italian series Gomorrah on GitHub
MonicelliAn esoteric programming language based upon the so-called "Supercazzola" of the movie My Friendsmonicelli on GitHub
JapaneseDolittleDeveloped for educational purposes. Freeware.
Himawari (ひまわり)Succeeded by Nadeshiko. Freeware.
Kotodama (ことだま) on SqueakBased on Squeak. For educational purposes.
MindA 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.
ProduireAn object-oriented Japanese programming language. Successor of TTSneo. Freeware.
TTSneoA Japanese programming language. Succeeded by Produire. Freeware.
Unchiku (うんちく)A Japanese programming language. Has limited functions/operations. Developed for educational purposes.
JavanesesawaA Javanese translated Python language.sawa on GitHub
KoreanSsiat (씨앗)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.
hForthA Forth system with an optional Korean keyword set.
LatinLusus
Lingua::Romana::PerligataAlternative Syntax for Perl 5 that allows programming in Latin.
LatvianLVskriptsJavascript translated into Latvian. on GitHub
DzintarsRuby translated into Latvian.dzintars on GitHub
PriedeInterpreted high-level language. Name means pine in latvian.priede on GitHub
LithuanianSetonasPython translated into Lithuanian.setonas on GitHub
MalayMalaybasicBASIC with Malay keywords
MalayalamThengascriptA dialect of JavaScript in the Malayalam language.
MalluscriptAn esoteric scripting language made with Rust based on Manglish with an aim to provide inclusivity and diversity in programming.
Nehiyawewin/CreeAncestral Code (Cree#)An IDE and language based on the Nehiyaw (Cree) language and cultural storytelling practice.
PersianFarsinetAn object-oriented programming language for .NET Framework. It is similar to C# and Delphi.
KharazmiA Persian programming language and IDE designed to teach programming to middle school students, similar to Pascal
ZangarZangar (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.
PolishAC-LogoLogo with Polish commands IDŹ, OTO, NAPRZÓD etc. created in 1992
SAKOA language created in the 1950s and nicknamed the "Polish Fortran"
EOLExpression-Oriented Language allowed for the use of both Polish and English keywords.
ZdzichAmateur programming language for DOS.
PortugueseDeléguaA general purpose programming language, for educational and commercial purposes.
VisuAlgA language designed to teach programming, based on Pascal.
potigolA functional programming language in Portuguese for beginners.
PortugolA programming language with Portuguese keywords.
Portugol StudioA variation of Portugol that based in C and PHP for learning purposes.
G-PortugolA variation of Portugol.gpt on GitHub
NPortugolA .NET Programming language for embedded scripts. A variation of Portugol.
Russian1C:EnterpriseA 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.
Эль-76A 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
АЛМИР-65A language used on MIR
УАЯA language to study programming
ХУЯA language to study programming
SanskritOM LangA 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
SinhalaCeylonicusAn 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,
SpanishGarGarA procedural programming language based on Pascal for learning purposes.
VainillaA pseudocode interpreter for Spanish that runs in the browser.
PSeIntA pseudocode interpreter for Spanish, like Pascal, with a completely Spanish-based syntax. PSeInt is an abbreviation for Pseudocode Interpreter.
QriolloAn impure strict functional programming language that compiles to C, Python, and JVM Bytecode, with keywords in Rioplatense Spanish, spoken in Buenos Aires.
LatinoA language with a completely Spanish-based syntax.
A direct translation pseudo-language for coding in C and C++ with Spanish keywords.
PauscalA language with a completely Spanish-based syntax; compiler for 32-bit Windows.
InformATEA translation of Inform, used for creating text-based games.
EsJSAn interpreted programming language with Spanish syntax, based on JavaScript., esjs on GitHub
SwahiliswapSwahili 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.
SwedishEnkeltA language with a completely Swedish-based syntax. Transpiled to Python.
TagalogBatoRuby translated into Tagalog.bato on GitHub
TamilEzhilDeveloped for educational purposes.
eTamilThe purpose of eTamil is to be an Indian DSL for Accounts & Fintech.eTamil on GitHub
SwaramA simple, general-purpose and procedural language.
AgaramA simple, Tamil programming language with interpreter and compiler.Agaram-programming-language on GitHub
NiralA Tamil programming language with Tamil & Latin script.
ThendralThendral is a transpiler - Translates thendral ( a scripting language in Tamil ) to valid JavaScriptthendral on GitHub
MaghilchiIt is an interpreted language with a natural language-like syntax with Tamil words.
W languageHTML translation in Tamil languagew language on GitHub
TurkishYakamozA Turkish implementation similar to that of Python.
KipA 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
UrduUrduScriptA dialect of JavaScript.
WelshDraigA Welsh implementation of Raku
YorubaYorlangBuilt on top of Node.js.
VariousLogoIn 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 DimensionOn local versions, its internal language uses French or German keywords.
FOCALKeywords were originally in English, but DEC produced versions of FOCAL in several European languages.
MamaAn 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 ExcelTheir macro languages used to be localized in non-English languages.
ML4A language for client/server database programming, with keywords in English or German.
RoboMindAn educational programming language available in Arabic, Chinese, Dutch, English, French, German, Greek, Polish, Brazilian Portuguese, Spanish, Swedish, and Turkish.
ScratchAn introductory visual programming language from MIT's Media Lab with support for programming in multiple languages included as standard.
CatrobatA 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.
TECOThe 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 BASICThe 68000 version is localized. Various configuration strings are localized too, preventing direct binary compatibility.
CitrineProgramming 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.