Non-English Programming Languages?
jjohnson asks: "As a coder I've been exposed to a lot of programming languages, big and small, and they're all in (pseudo) English, reflecting their invention and development in English speaking countries (or to gain traction in English speaking countries, such as Ruby). Of course, there's no reason a programming language couldn't be developed in Russian, using a cyrillic character set; or Chinese, using kanji; or Japanese, using hiragana. All three of those nations have big/advanced enough developer communities to justify the development of native-tongue programming languages, which have the obvious benefit of not requiring their developers to learn/code in a foreign language. What non-English programming languages exist, and how do they compare?"
Thank you google for your infinite wisdom:i sh_based_programming_languages
http://www.sciencedaily.com/encyclopedia/non_engl
Physics makes the world go 'round.
Any language which doesn't define a core of keywords, but instead just has functions that can be overridden... and which supports unicode. Variants of lisp anf forth qualify, off the top of my head. Of course, languages with only a few keywords, like java, are amenable to trivial pre-processing of those keywords, and also support unicode right out of the box.
I've had this sig for three days.
Klingon Var'aq.
Example:
Michael.
Linux : Mac
As far as I know there are none.
The reason is pretty simple. English is probably the most commonly spoken language for business and science on the earth today. Before someone says that there are x billion Chinese yes they are but there are many dialects of Chinese and also of Hindi. Also a very large percentage of the Computer industry is centered in the US. I just do not think that there is any other language that has so many educated speakers. If you want to be an Airline pilot in any country in the world you must speak english. Yes a Russian airline pilot landing in Germany will speak to the towner in english. Or back in the 1800s French was the language of Science. For now it is English that is more or less the universal language.
See my blog http://ilovecookes.blogspot.com/ for light hearted technical information.
With a bit of Lex and Yacc, it should be pretty simple to come up with a C++ variant in any given language. When I was in college, some friends of mine and I wrote a compiler in ebonics, called Eubonicode. Granted, I don't know how well lex/yacc cover non-ascii character sets, but it wouldn't be hard to whip up a compiler for a French, Spanish, or German version of C++.
I am sure there are or were some non-english programming languages (and even as a native english speaker I've thought about this problem myself). But, and its a big but, right now using english gets you access to the most diverse and largest audience (except maybe mandorin, but even there your talking basically the chinese (mandorin is not generally taught as a second language as widely as english).
:)
With the internet and the "global economy" it makes NO sence to have a localized language, unless your a proprietary developer that doesn't want you code to have the longest life it could
You may think I am just saying this because I speak english so of course I think english should be the most used, but I honestly can tell you I would be quite happy to learn another language as best I could if english weren't the primary communication language for programming (and most anything really). I would obviously be severely inconvienenced, but no more so that maybe people whose software I use now.
Maybe the best choice would be to have translatable keywords for a language, because the syntax really doesn't match english in all cases anyway. Of course translatable keywords would become a nightmare quickly due to the severe limitation on variable names etc, for instance how could you ever choose a word and be sure the language wouldn't end up need that for "if" in some language you never heard of?
As far as different character sets, this becomes a non-issue as all software moves towards unicode and UTF-8 (or equivalent) encoding. Once that happens you can for get about worring about character sets (and its happening fast).
and of course totally incompatible with other versions...
That's not true - it's totally compatible, and in fact even translates itself. If you make your Excel document using a French version of Office, and then open the same document in an English version, all the code has miraculously become the standard VBA that we all know and (possibly) love.
... completely without letters if you do it right! ;-)
Denken hilft.
"#define" is your friend.(enemy..)
#define if hvis
#define do gjør
#define while sålenge
#define return returner
#define void ingenting
#define char karakter
#define const konstant
typedef int tall;
tall lengde(konstant karakter *p){
tall i = 0;
sålenge(*p){
i++;
p++;
}
returner i;
}
CAR (Contents of Address Register) and CDR (Contents of Decrement Register) are effectively mnemonics for what we call nowadays (in ML or Haskell) the hd (head) and the tl (tail) of a list.
But, since in Latin head is caput and tail is cauda, you could say that CAR stands for CApite Regesta (literally, "what's written at the head") and CDR for CauDa Regesta ("what is written at the tail")! The Classicist purists among you will probably find that a better non-etymology would be "CApitis Recensio" and "CauDae Recensio", but who's worrying anyway. Then of course, you have that CONS is also Latin for "CONStruo".
Except, that illustrates the problem precisely. If it truly were Swedish chef, the words "PRINT" and "GOTO" would be in their Swedish equvalents. And since I don't speak Swedish, I'll approximate:
10 DRUCKENJORGESPORGE "BORK!"
20 GEHENJASUREj00BECHA 10
Working toward a usable PDA environment in the spirit of Newton OS: Dynapad
If I remember correctly, Mitarou Namiki wrote a paper exploring this. The reference seems to be:
See his 1991 papers listing and his lab's website.
I talked with him about it ten years ago. I have a copy of the paper or maybe a similar one somewhere, but it's in japanese and I never allocated the hours I need to read it.
How does Latin Perl sound to you?
And you too can do this !
Actually, Perligata is more serious than it may seem.
On one level, it uses Latin -- which packs much of the meaning of sentences into word endings rather than word order -- as a case study for a programming language that doesn't enforce a particular mandatory word order on language statements. That is, in English, "boy chases dog" has a much different meaning than "dog chases boy", but in Latin you could write it either way because the inflection on the words controls the meaning. Likewise, in most programming languages, x = y has a different meaning than y = x, but if you had a language that was agnostic about "sentence order" then you could write it either way. Using Latin allowed him to demonstrate this in practice.
Why would anyone care? Well, when Perligata was written, Perl6 was just starting to be considered, and Damian was wondering what core concepts had to be maintained and which were open to revision. Among the assumptions he wanted to consider was word order, and Perligata is a case study in how you can throw it out the window without breaking anything.
Coming down to Earth, this technique could have other applications as well. For example, the techniques used in Perligata could be applied in a source filter to convert VBScript to Perl at run time. There are issues to consider, of course, but it could work, if you wanted it badly enough. To cite a real example, one of the core plans for Perl6 is that it should be able to run existing Perl5 code, and the techniques demonstrated in Perligata will probably be used to make that possible.
Likewise, the object framework for Perl 6 is very flexible, allowing people to hand-roll almost any style of OO programming they are comfortable with. If you pair this with things like the built in Unicode support (and, allegedly, no obstacles to using Unicode symbols directly in Perl6 code for things like variables, functions, overridden operators, etc), there's no reason why people couldn't prepare "localized" versions of Perl6. It'll be interesting to see if this ends up happening, but I wouldn't be surprised at all if
DO NOT LEAVE IT IS NOT REAL