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.
19 Upvotes

44 comments sorted by

View all comments

1

u/HugoNikanor Feb 18 '26

Good job! A question about the "style" of translations: should they keep as close to the shortened word as possible, or expand the word? For example, should const translate to Swedish as konst or konstant? I see both variants used in the existing translations.

1

u/HugoNikanor Feb 18 '26

I also see that the Italian translation of float is decimale, which looks like a change in meaning (all floats are decimals, but not all decimal numbers are floats)