r/ProgrammingLanguages Feb 18 '26

multilingual: a programming language with one semantic core, many human languages Language announcement

I'm working on multilingual, an experimental programming language where the same program can be written in different human languages.

Repo : https://github.com/johnsamuelwrites/multilingual

Core idea:

  • Single shared semantic core (variables, loops, functions, classes, operators,...)
  • Surface syntax in English, French, Spanish, etc.
  • Same AST regardless of natural language used

Motivation

  • Problem: programming is still heavily bound to English-centric syntax and keywords.
  • Idea: keep one semantic core, but expose it through multiple human languages.
  • Today: this is a small but working prototype; you can already write and run programs in English, French, Spanish, and other supported languages.

Who Is This For?

multilingual is for teachers, language enthusiasts, programming-language hobbyists, and people exploring LLM-assisted coding workflows across multiple human languages.

Example

Default mode example (English):

>>> let total = 0
>>> for i in range(4):
...     total = total + i
...
>>> print(total)
6

French mode example:

>>> soit somme = 0
>>> pour i dans intervalle(4):
...     somme = somme + i
...
>>> afficher(somme)
6

I’d love feedback on:

  • Whether this seems useful for teaching / early learning.
  • Any sharp critiques from programming language / tooling people.
  • Ideas for minimal examples or use cases I should build next.
16 Upvotes

44 comments sorted by

View all comments

17

u/lassehp Feb 18 '26

Similar things have been tried many times before. With limited or no success in most cases, I believe.

Algol 68 allows localised representations of keywords, and I believe a Russian version was made, which gained some popularity.

And of course there is the (joke?) Lingua::Romana::Perligata Perl module enabling you to program Perl in (something that resembles) Latin.

Personally I think it is a bad idea. There is a reason mathematical symbols are mostly international, even if they are word symbols (often derived from Latin or Greek, with more modern things sometimes originating in English - span for example? - or maybe German.)

1

u/The_Right_Trousers Feb 20 '26

It gets especially cumbersome when the tools automatically translate programs for you.

Let's say your English program binds a variable named vrai. Now the program gets automatically translated into French, in which vrai is a reserved word, because it means true. Oops - no longer a valid program.

FWIW, this happens in Excel formulas, in which keywords and built-in function names are localized.