HOME

TheInfoList



OR:

Non-English-based programming languages are
programming language A programming language is a system of notation for writing computer programs. Most programming languages are text-based formal languages, but they may also be graphical. They are a kind of computer language. The description of a programming ...
s that do not use keywords taken from or inspired by
English English usually refers to: * English language * English people English may also refer to: Peoples, culture, and language * ''English'', an adjective for something of, from, or related to England ** English national ...
vocabulary.


Prevalence of English-based programming languages

The use of the
English language English is a West Germanic language of the Indo-European language family, with its earliest forms spoken by the inhabitants of early medieval England. It is named after the Angles, one of the ancient Germanic peoples that migrated to the ...
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, out of the 8,500+ programming languages recorded, roughly 2,400 of them were developed in the
United States The United States of America (U.S.A. or USA), commonly known as the United States (U.S. or US) or America, is a country Continental United States, primarily located in North America. It consists of 50 U.S. state, states, a Washington, D.C., ...
, 600 in the
United Kingdom The United Kingdom of Great Britain and Northern Ireland, commonly known as the United Kingdom (UK) or Britain, is a country in Europe, off the north-western coast of the continental mainland. It comprises England, Scotland, Wales and ...
, 160 in
Canada Canada is a country in North America. Its ten provinces and three territories extend from the Atlantic Ocean to the Pacific Ocean and northward into the Arctic Ocean, covering over , making it the world's second-largest country by to ...
, and 75 in
Australia Australia, officially the Commonwealth of Australia, is a sovereign country comprising the mainland of the Australian continent, the island of Tasmania, and numerous smaller islands. With an area of , Australia is the largest country by ...
. 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 ) , anthem = ( en, "William of Nassau") , image_map = , map_caption = , subdivision_type = Sovereign state , subdivision_name = Kingdom of the Netherlands , established_title = Before independence , established_date = Spanish Netherl ...
,
Ruby A ruby is a pinkish red to blood-red colored gemstone, a variety of the mineral corundum ( aluminium oxide). Ruby is one of the most popular traditional jewelry gems and is very durable. Other varieties of gem-quality corundum are called ...
from
Japan Japan ( ja, 日本, or , and formally , ''Nihonkoku'') is an island country in East Asia. It is situated in the northwest Pacific Ocean, and is bordered on the west by the Sea of Japan, while extending from the Sea of Okhotsk in the n ...
, and Lua from
Brazil Brazil ( pt, Brasil; ), officially the Federative Republic of Brazil (Portuguese: ), is the largest country in both South America and Latin America. At and with over 217 million people, Brazil is the world's fifth-largest country by area ...
), and situations where it was based on another programming language which used English.


International programming languages

The concept of international style programming languages was inspired by the work of British
computer scientist A computer scientist is a person who is trained in the academic study of computer science. Computer scientists typically work on the theoretical side of computation, as opposed to the hardware side on which computer engineers mainly focus (a ...
s
Christopher Strachey Christopher S. Strachey (; 16 November 1916 – 18 May 1975) was a British computer scientist. He was one of the founders of denotational semantics, and a pioneer in programming language design and computer time-sharing.F. J. Corbató, et al. ...
, Peter Landin, and others. It represents a class of languages of which the line of the algorithmic languages
ALGOL ALGOL (; short for "Algorithmic Language") is a family of imperative computer programming languages originally developed in 1958. ALGOL heavily influenced many other languages and was the standard method for algorithm description used by the ...
was exemplary.


ALGOL 68

ALGOL 68 ALGOL 68 (short for ''Algorithmic Language 1968'') is an imperative programming language that was conceived as a successor to the ALGOL 60 programming language, designed with the goal of a much wider scope of application and more rigorously d ...
'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 The United Nations Educational, Scientific and Cultural Organization is a List of specialized agencies of the United Nations, specialized agency of the United Nations (UN) aimed at promoting world peace and security through international coope ...
's IFIP for publication. Translations of the standard were made for Russian,
German German(s) may refer to: * Germany (of or related to) **Germania (historical use) * Germans, citizens of Germany, people of German ancestry, or native speakers of the German language ** For citizens of Germany, see also German nationality law **Ge ...
,
French French (french: français(e), link=no) may refer to: * Something of, from, or related to France ** French language, which originated in France, and its various dialects and accents ** French people, a nation and ethnic group identified with Franc ...
, Bulgarian, and then later Japanese. The standard was also available in . ALGOL 68 went on to become the GOST/ГОСТ-27974-88 standard in the
Soviet Union The Soviet Union,. officially the Union of Soviet Socialist Republics. (USSR),. was a transcontinental country that spanned much of Eurasia from 1922 to 1991. A flagship communist state, it was nominally a federal union of fifteen nationa ...
. * GOST 27974-88 Programming language ALGOL 68 – Язык программирования АЛГОЛ 68 * GOST 27975-88 Programming language ALGOL 68 extended – Язык программирования АЛГОЛ 68 расширенный In English, Algol68's case statement reads case ~ in ~ out ~ esac. In Russian, this reads выб ~ в ~ либо ~ быв.


Citrine

Localization is the core feature of the Citrine Programming Language. In Citrine, every human language has its own version, for instance the
West Frisian language West Frisian, or simply Frisian ( fy, link=no, Frysk or ; nl, Fries , also ), is a West Germanic language spoken mostly in the province of Friesland () in the north of the Netherlands, mostly by those of Frisian ancestry. It is the most wid ...
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 are being accepted for inclusion, up to EGIDS-6.


Scheme

While
Internationalization In economics, internationalization or internationalisation is the process of increasing involvement of enterprises in international markets, although there is no agreed definition of internationalization. Internationalization is a crucial strateg ...
is not a part of any
Scheme A scheme is a systematic plan for the implementation of a certain idea. Scheme or schemer may refer to: Arts and entertainment * ''The Scheme'' (TV series), a BBC Scotland documentary series * The Scheme (band), an English pop band * ''The Schem ...
standard, the expressiveness and flexibility of the language allows for the addition of internationalization as a
library A library is a collection of materials, books or media that are accessible for use and not just for display purposes. A library provides physical (hard copies) or digital access (soft copies) materials, and may be a physical location or a vi ...
.
International Scheme
is an
open source Open source is source code that is made freely available for possible modification and redistribution. Products include permission to use the source code, design documents, or content of the product. The open-source model is a decentralized so ...
project to which anyone can contribute a translation. Since translations of Scheme can be loaded as libraries, Scheme programs can be
multilingual Multilingualism is the use of more than one language, either by an individual speaker or by a group of speakers. It is believed that multilingual speakers outnumber monolingual speakers in the world's population. More than half of all ...
.


Scratch

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


Languages based on symbols instead of keywords

* APL – A language based on mathematical notation and abstractions. *
Brainfuck Brainfuck is an esoteric programming language created in 1993 by Urban Müller. Notable for its extreme minimalism, the language consists of only eight simple commands, a data pointer and an instruction pointer. While it is fully Turing com ...
– A minimalist esoteric programming language, created for the purpose of having the smallest possible
compiler In computing, a compiler is a computer program that translates computer code written in one programming language (the ''source'' language) into another language (the ''target'' language). The name "compiler" is primarily used for programs tha ...
. * G – Graphical language used in
LabVIEW Laboratory Virtual Instrument Engineering Workbench (LabVIEW) is a system-design platform and development environment for a visual programming language from National Instruments. The graphical language is named "G"; not to be confused with G-c ...
(not to be confused with G-code). *
Hoon A hoon is an Australian term describing a person who deliberately drives a vehicle in a reckless or dangerous manner, generally in order to provoke a reaction from onlookers. Hoon activities (or hooning) can include speeding, burnouts, dough ...
– A systems programming language for Urbit, compiling to Nock. * J – An APL-like language which uses only
ASCII ASCII ( ), abbreviated from American Standard Code for Information Interchange, is a character encoding standard for electronic communication. ASCII codes represent text in computers, telecommunications equipment, and other devices. Because ...
special characters and adds
function-level programming In computer science, function-level programming refers to one of the two contrasting programming paradigms identified by John Backus in his work on programs as mathematical objects, the other being value-level programming. In his 1977 Turing ...
. * Light Pattern - A language which uses a series of photographs rather than text as source code. *
Mouse A mouse ( : mice) is a small rodent. Characteristically, mice are known to have a pointed snout, small rounded ears, a body-length scaly tail, and a high breeding rate. The best known mouse species is the common house mouse (''Mus musculus' ...
– A minimalist language created by Dr. Peter Grogono which uses ASCII characters for keywords. * Piet – An art-based esoteric programming language. *
Plankalkül Plankalkül () is a programming language designed for engineering purposes by Konrad Zuse between 1942 and 1945. It was the first high-level programming language to be designed for a computer. ''Kalkül'' is the German term for a formal system� ...
– The first high-level non-von Neumann programming language, designed by
Konrad Zuse Konrad Ernst Otto Zuse (; 22 June 1910 – 18 December 1995) was a German civil engineer, pioneering computer scientist, inventor and businessman. His greatest achievement was the world's first programmable computer; the functional program- ...
during
World War II World War II or the Second World War, often abbreviated as WWII or WW2, was a world war that lasted from 1939 to 1945. It involved the World War II by country, vast majority of the world's countries—including all of the great power ...
in
Germany Germany,, officially the Federal Republic of Germany, is a country in Central Europe. It is the second most populous country in Europe after Russia, and the most populous member state of the European Union. Germany is situated betwee ...
. * Whitespace – An esoteric language based on whitespace characters (spaces, tabs, and line breaks).


Modifiable parser syntax


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 Component Pascal is a programming language in the tradition of Niklaus Wirth's Pascal, Modula-2, Oberon and Oberon-2. It bears the name of the language Pascal and preserves its heritage, but is incompatible with Pascal. Instead, it is a minor ...
– A preprocessor that translates native-language keywords into English in an educational version of the BlackBox Component Builder available as open sourc

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 Kabardian (; ; ), also known as , is a Northwest Caucasian language closely related to the Adyghe (West Circassian) language. Circassian nationalists reject the distinction between the two languages and refer to them both as " Circassian". ...
has been tried as a proof of concept). *
HyperTalk HyperTalk is a discontinued high-level, procedural programming language created in 1987 by Dan Winkler and used in conjunction with Apple Computer's HyperCard hypermedia program by Bill Atkinson. Because the main target audience of HyperTal ...
– A programming language, which allows translation via custom resources, used in
Apple An apple is an edible fruit produced by an apple tree (''Malus domestica''). Apple trees are cultivated worldwide and are the most widely grown species in the genus '' Malus''. The tree originated in Central Asia, where its wild ancest ...
's
HyperCard HyperCard is a software application and development kit for Apple Macintosh and Apple IIGS computers. It is among the first successful hypermedia systems predating the World Wide Web. HyperCard combines a flat-file database with a graphical, f ...
.
IronPerunis
– An IronPython 2.7 localization to Lithuanian and Russian. *
AppleScript AppleScript is a scripting language created by Apple Inc. that facilitates automated control over scriptable Mac applications. First introduced in System 7, it is currently included in all versions of macOS as part of a package of system aut ...
– A language which once allowed for different "dialects" 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.Language Design in Maude
by Matthias, 2006/06/05, LShift Ltd. *
Perl Perl is a family of two high-level, general-purpose, interpreted, dynamic programming languages. "Perl" refers to Perl 5, but from 2000 to 2019 it also referred to its redesigned "sister language", Perl 6, before the latter's name was offic ...
– 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'
Lingua::Romana::Perligata
module, which allows programs to be written in Latin or Michael G. Schwern'
Lingua::tlhInganHol::yIghun
Perl language in Klingon. They do not just change the keywords but also the grammar to match the language.
Perunis
– Python 2.6 localization to Lithuanian and Russian.
Ioke
– Ioke is a folding language. It allows writing highly expressive code that writes code. Examples of same program i
ChineseDanishHindi
an
Spanish


References


Sources

*


External links


SAKO information page at HOPL
– By Diarmuid Pigott {{Programming languages Lists of programming languages
Programming languages A programming language is a system of notation for writing computer programs. Most programming languages are text-based formal languages, but they may also be graphical. They are a kind of computer language. The description of a programming ...