5 ms·
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()").
by cptwunderlich 6y ago
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_languages 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..
- simplyinfinity 6y agoYeah, 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.
- matsemann 6y agoThey don't have to be for a global scale, though. 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.
- badsectoracula 6y agoI 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.
- SamBam 6y agoI'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.
- spc476 6y agoI 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. ?char = 'x' : result = 'y' A simple if statement. This can be extended: (?m = copy : sub(1) = find : sub(2) = quit : sub(3) ?) 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.
- badsectoracula 6y agoWords 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.
- saint-loup 6y agoAre there any attempts to have it both ways? Like, the source code stays in English but my IDE translates keywords to and from my language.
- jannes 6y agoThat's exactly how Excel does it. 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.
- wink 6y agoMight 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.
- twanvl 6y agoExcel does this for function names. If you open a file in your localized copy all the names are translated.
- remix2000 6y agoIf 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 https://www.emacswiki.org/emacs/PrettySymbol APL is however not a language that one would consider using seriously.
- lordgrenville 6y agoEmacs also has prettify-symbols-mode, which by default replaces lambda with λ, but can do a lot more - it can make Python look like this! http://www.modernemacs.com/img/spacemacs/python-code.png http://www.modernemacs.com/img/spacemacs/python-code.png
- runeb 6y agoApple Numbers does this as well, making it very difficult to find the right function, autocomplete, doesn't play well with googling for solutions etc.
- quickthrower2 6y agoThere 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.
- purple-again 6y agoWhat 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.
- t0astbread 6y agoReally? I always understood it as "we promise you this thing but all we can give you now is the promise".
- mrtksn 6y agoIs 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.
- hoseja 6y agoExcel localization is absolute PITA, mainly because there is no easy way to turn it off.
- n0rbwah 6y agoIn 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 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.
- BadInformatics 6y agoI encountered this once in an internship in Switzerland (didn't have to write any, thankfully). Quite the esoteric little platform indeed!