There have been some attempts for localized programming languages. In fact, e.g., MS Excel Macros are localized (e.g., "SUMME()" in german instead of "SUM()").
There is even a Wikipedia page: https://en.wikipedia.org/wiki/Non-English-based_programming_...
I'm a bit conflicted. On the one hand, I am all for language diversity and empowering local languages. It may also help novices and very young learners. On the other hand you are already learning an unfamiliar formalism and it hinders interoperability, sharing and collaborating. Hm..
In France, we have a tool called WinDev which isn't used very much outside of France. It is a proprietary abomination used to create graphical applications (and with sisters tools WebDev and WinDev mobile for web development and mobile development). It completely locks the programmers into their shitty very closed wall garden (for example, you're completely locked into using their own proprietary version control tool and absolutely cannot use an alternative).
Anyway, the coding in their applications is done with their very own proprietary shitty programming language: WLangage (https://fr.wikipedia.org/wiki/WLangage). This language has the particularity of being available in three localizations: English, French and Chinese. And you can mix all three in the same codebase for some extra fun!
It's not very well known outside of France so it's not very surprising that this language isn't cited on the wikipedia page you linked.
Yeah, localized languages don't work that well on global scale.
Side effects may include large number of bubble communities not being able to contribute to one another which leads to fragmentation and friction.
What will happen to large open source communities?
Will those have only French people working on networking and Russians working on CPUs ?
Also large companies won't be able to hire from smaller programmer pools because they will have to learn yet another spoken language.
Learning programming as a kid, it could be easier when the standard library has functions in the native language. Learning if, while etc are easy as they are just tokens. But the hundreds of functions are hard to look up when one's new and cannot easily understand what a function does based on a foreign description.
I was a kid, what the words meant in English didn't matter much (e.g. i was learning Pascal and it took years until i learned what 'procedure' means), they were essentially symbols. They wouldn't really be helpful.
I just had a book in my native language which explained things.
I'm not so sure. At that point, why have programming instructions be words at all? Why not make everything a 3-character symbol?
While you certainly can learn a programming language without any understanding of the keywords, I don't think you can really say that it doesn't help if you do know them. My kid is learning Scratch, and I didn't have to explain to her what the "REPEAT" block would do.
I came across a reference to such a language in the January 1986 issue of "Computer Language" (I have the magazine right in front of me as I type) and the idea has remained firmly lodged in my brain ever since. Some examples:
(!i = 0 , 2 .. 15
r = foobar(i)
!r = 0)
This sets `i` to be the even values less than 15 and will repeat until the result of `foobar()` is not 0. The expressions on either end are optional.
Unfortunately, the article is only two pages, and it doesn't cover everything and I've been unable to find anything else about the language, but it was a very cool idea.
Words are easier to read and write even if you do not understand their real life meaning, especially since computers are still made with a primary input device for typing words, and allow for way more distinct and readable variations (26 letters + numbers vs just the few symbols on the keyboard). And while they aren't that helpful when learning as a kid, they can still be very helpful later when you have to tackle way more - remember that the argument was about kids learning.
Personally, I don't like it. I prefer English function names.
However, the most annoying thing about Excel localisation is that the behaviour of CSV import/export changes depending on the OS locale setting. It doesn't even let you override it. You actually have to change the OS settings to get the English behaviour.
Might be wrong on this one but I thought that I had heard that this was not the case in earlier versions and if you opened a German excel file on a computer set to English it would fail.
If you made all keywords fit one character or so and allow selective installation of dictionaries, that would probably also decrease source code form size significantly! That would be great even if you never were to use any language other than English. I’ve played with APL a bit and found out that one can configure Emacs to replace APL’s cryptic symbols with English words using this: https://www.emacswiki.org/emacs/PrettySymbol
APL is however not a language that one would consider using seriously.
There aren’t that many keywords so just learn them. Plus many words don’t make sense eg Promise doesn’t tell you what it is, they could be called promessa and we’d get used to it.
What does that mean? Promise is an excellent one word description of the underlying phenomenon. Your language promises that the code will finish executing before the code you place in your then/error blocks allowing you to safely write some asynchronous logic in a synchronous world.
Is there a localised language that uses structures and ideas of the locale? This could be significant because the human languages has an influence on how we think. People count differently, reason differently, imply differently when thwy have different language tools in their disposal.
I'm a bit conflicted. On the one hand, I am all for language diversity and empowering local languages. It may also help novices and very young learners. On the other hand you are already learning an unfamiliar formalism and it hinders interoperability, sharing and collaborating. Hm..