I have often wondered why it is that non-English speaking programmers are forced to use a different language when programming when it would seem to be so easy to offer an ID
No, and there really can't be. If you take a C compiler, for example, and localize the keywords into a different language, you will have a perfectly viable programming language but it is, by definition, no longer a C compiler.
C may have keywords like if
and for
which are obviously derived from English, but they are not English keywords, they are C keywords.
That being said, I have often wondered why we haven't seen programming languages based on other human languages. Are they just not that well known?
There is a development language in France which is called WinDev where all the code is entirely french localized.
No! Never use the "localization" for you sources. English is de-facto standard for the programming and it helps a lot and makes this world a little better.
The code should be portable and comprehensible to everybody (when possible), localization would kill this possibility.
I speak Russian, Italian and a little bit of English, but I've used anything else but English in my job.
In some cases, keywords aren't even English (though they may vaguely resemble English words): car, cdr, and cons from Lisp; elsif in Perl; printf, fgets, sscanf, and many more from C. I think most languages have at least some keywords that aren't localized even for English speakers.
Keywords belong to the programming language, not the programmer's (spoken) language.
This is the same as air traffic control. It's been pretty much standardized in English. While that may make flying slightly more difficult if your native language isn't English, it's not too difficult to learn the specific subset of English necessary to get the job done... but could you imagine what would happen if pilots could just try and speak whatever language they were most comfortable with to the controllers... and the controllers could respond in whatever language they liked most? I certainly wouldn't fly internationally anymore :)
Not a programming language per se, but Microsoft Excel is known for its function names to be localized. Luckily opening an Excel sheet in a different language version does not break your formulas as they get translated.