Kuro5hin.org: technology and culture, from the trenches
create account | help/FAQ | contact | links | search | IRC | site news
[ Everything | Diaries | Technology | Science | Culture | Politics | Media | News | Internet | Op-Ed | Fiction | Meta | MLP ]
We need your support: buy an ad | premium membership

[P]
Foreign Language Programming Languages

By BinerDog in Technology
Tue Sep 19, 2000 at 08:05:18 PM EST
Tags: Technology (all tags)
Technology

Question to all the techies out there: Does anyone know about non-English based programming (or even scripting) languages?

I'm a high school teacher in a school with huge native Spanish and Korean speaking populations. Many of our students are are of very limited English proficiency but need to be offered the full range of classes (as best we can). One of the topics that has come up is if we can find a language to teach computer programming with that is not based around English (if, case, switch, class, implements, or, etc etc). So far I have found nothing, but I know perfectly well I am FAR from an expert.

Thanks!


Sponsors

Voxel dot net
o Managed Hosting
o VoxCAST Content Delivery
o Raw Infrastructure

Login

Related Links
o Also by BinerDog


Display: Sort:
Foreign Language Programming Languages | 36 comments (32 topical, 4 editorial, 0 hidden)
Good question (2.00 / 1) (#2)
by diskore on Tue Sep 19, 2000 at 06:37:48 PM EST

I've often wondered about the relationship between English-based programming languages and non-English speaking programmers, would love to see a good discussion of this.

Re: Good question (2.50 / 2) (#15)
by Tester on Wed Sep 20, 2000 at 12:19:18 AM EST

As a French speaking programmmer, I can say that translated languages suck. First, translation vary from one language to another. Second, I like to have the possibility to collaborate with people from other countries without having to rewrite everything. I actually believe that everything, including comments should be in english. From what I've read, most comments in StarOffice are in german as it was written in Germany. I hope Sun translates them because if it goes out with the german comments, than they are useless for 95%+ of the programmer population. And so would be any language written in a native language.

[ Parent ]
Discussion on this... (3.00 / 2) (#20)
by incunabula on Wed Sep 20, 2000 at 09:03:33 AM EST

or at least closely related, may be found at Slashdot:

English Language And Its Effect On Programming?

i


[ Parent ]
Re: Good question (4.00 / 1) (#25)
by eann on Wed Sep 20, 2000 at 11:51:11 PM EST

Another post above mentions var'aq, which is a well-intentioned (if not totally serious) attempt to explore what a programming model would look like in a different culture that has vastly different ideas about how natural language and social interaction should work. It happens that the target culture is fictional, but that makes it fairly easy to speculate about things without actually stepping on anyone's toes.

Check out their mailing list archive on eGroups; there has been a lot of soul-searching over the last couple weeks (as well as a mini-thread about the diversity of syntax invented by native English speakers to suit different programming models), and it looks like it's going to continue.

And if you really want some discussion, collect your thoughts into a short essay and click on the "submit story" link in the blue bar across the top of this page. If enough other people think it looks like an interesting topic, we'll talk about it. That's what K5 is for. :)

Our scientific power has outrun our spiritual power. We have guided missiles and misguided men. —MLK

$email =~ s/0/o/; # The K5 cabal is out to get you.


[ Parent ]
Functional languages (4.00 / 3) (#4)
by squigly on Tue Sep 19, 2000 at 06:54:58 PM EST

In my experience, you get less English (or any language) in functional languages. IIRC Haskell has virtually no words apart from function names (which can easily be translated using wrapper functions)

not that I'm really convinced that there are many English based programming languages. switch, and for have only the vaguest relationship to their English meaning.

Going off at a tangent - Surely a Spanish.h header containing a big list of 'defines to translate could be written.

--
People who sig other people have nothing intelligent to say for themselves - anonimouse
VB? (1.50 / 4) (#5)
by mlinksva on Tue Sep 19, 2000 at 07:02:08 PM EST

I've heard that all VB keywords are translated for the relevant locale. Of course I've never touched VB.
--
imagoodbitizen adobe unisys badcitizens
The preprocessor as your translator... (4.61 / 13) (#8)
by XScott on Tue Sep 19, 2000 at 07:24:57 PM EST

#define si if
#define para for
#define caso switch
// etc...





-- Of course I think I'm right. If I thought I was wrong, I'd change my mind.
Re: The preprocessor as your translator... (4.00 / 1) (#35)
by Paul Johnson on Sun Sep 24, 2000 at 11:29:50 AM EST

Which works fine until someone uses "for" or other reserved word as a variable. Then you've got something extra to figure out on top of the usual complexity of C. You also have English error messages unless someone does something to the compiler to translate them.

However you could get hold of the compiler source code and hack in your own language for the reserved words and error codes. I just had a look at the p2c source, and the keywords are in lex.c. The error messages are scattered through the source, but "grep error *" seems to give a reasonably list.

Thats not a complete solution because of course its just a Pascal->C translator, but you get the general idea.

Paul.
You are lost in a twisty maze of little standards, all different.
[ Parent ]

VBA, if you really need it. (4.20 / 5) (#9)
by TinCho on Tue Sep 19, 2000 at 07:29:28 PM EST

Older versions of VBA (the ones which came with Office 95, IRC) where available in spanish, with abortions like "Para Cada Cosa En Cosas" instead of "For Each Thing In Things", so it might be exactly what you want. Besides, you might get them free from some business, where it probably is of no use today. And MS usually is very supportive to schools when asked for donations.

But are you really sure that it is the solution?
As a native spanish speaker, I tend not to think in english or spanish while I program, but instead in the language I'm using. Maybe it's me, but I consider C to be my 3rd language (ok, maybe BASIC came first, so let's call it 4th :) and not an extention of english.

AppleScript has some features for this (3.33 / 3) (#10)
by jum on Tue Sep 19, 2000 at 07:40:32 PM EST

AppleScript, the system level scripting language for Mac OS has some designed in features for this. Unfortunately (as far as I know) it only has a japanese translation, no korean nor spanish.
Jens-Uwe Mager <pgp-mailto:62CFDB25>
Visual Basic for Applications ;-)) (3.50 / 4) (#11)
by Majamba on Tue Sep 19, 2000 at 07:51:26 PM EST

The only programming language I know which has been localized was Visual Basic for Applications. I did a few German Word Macros with it a couple of years ago. I hated it instantly because every single command was translated into German so simple statements like ‘if a>b then’ didn’t work because you had to write ‘wenn a>b dann’. Even M$ did recognized it and only uses English command since Office97.

Programming needs a lot of abstraction. What you need to learn is what an IF statement does and what you can use it for. That is much more complicated than to understand the meaning of the word ‘if’.

So in your case I would suggest to look for a programming language you can get Spanish and Korean documentation (that's the really important thing). This should be possible for C. Maybe you have luck with Perl too.



APL and LISP (3.00 / 3) (#12)
by TheFerg on Tue Sep 19, 2000 at 08:20:21 PM EST

I don't know much about APL, but I know it consists mostly (if not completely) of special symbols with no particular relationship to the english language. However, I do not think that APL is an appropriate language to teach in high school. LISP would be the best alternate. There are some english words in it, but not that many. After all, half the program consists of parenthesis. And CAR/CDR cannot really be said to be english either.

Programming Language, and Challenges (4.66 / 3) (#13)
by kaikun on Tue Sep 19, 2000 at 10:14:52 PM EST

Why teach the children something that they probably won't use in the future? If you have the opportunity to teach children a programming language, then I would suggest that it is taught along with internationalization (i18n). Living in Japan, and selling U.S. software here that hasn't been internationalized has been a big burdon for us. Thankfully, we have finally conviced the developers in the U.S. that they are missing the boat in not giving customers outside the U.S. what they need (Europe and Korea locations have finally chimed in). So whatever the programming language is (hopefully object oriented, such as Java), if you teach internationalization skills along with the class, then it won't matter what country they are from. The class could configure the language of the UI or DOS prompt text to be set to whatever they specify in an external file (assuming you only have an English language OS, but hopefully you could get some others). I, as a student would be excited to do something like this and be happy to know that I'm learning something useful.

Assembler (4.00 / 1) (#14)
by xah on Wed Sep 20, 2000 at 12:15:05 AM EST

Just kidding. Seriously, though, how are they ever going to learn English if you keep giving them crutches? Tell them to learn English. They'll learn it faster if they're immersed in it. Isn't that how we Americans learn foreign languages? (For example, we go to language camps, or just travel to a foreign country.)

Re: Assembler (4.33 / 3) (#16)
by Tester on Wed Sep 20, 2000 at 12:22:22 AM EST

Actually its much easier than that, Americans dont learn foreign languages. They just travel and expect the whole world to speak English with them. And that actually works...

I know I'm off topic.. thank you

[ Parent ]
Non-English speaking an advantage? (1.20 / 5) (#17)
by phaze3000 on Wed Sep 20, 2000 at 04:33:45 AM EST

I've often thought that sometimes it'd actually be easier to code if I didn't know English . When I was first learning to code I lost count of how many times when trying to formulate an if statement in my head (particularly one including >,< or !) I'd manage to come up with something that made perfect sense in English but when translitterated actually meant the opposite of what I intended. There's such a layer of abstraction within programming that you soon learn to view code and English as two completely different languages anyway.

Of course, this is less/more true for some languages than others; perl for example (unsurprisingly, given it was designed by a linguist) is much closer to English than lisp. But as you're presumably going to be teaching C, C++ or Java then I don't see the language problems as an issue.
--- Mediocrity: It takes a lot less time and most people won't notice until it's too late.
Re: Non-English speaking an advantage? (3.00 / 1) (#23)
by xah on Wed Sep 20, 2000 at 07:07:38 PM EST

Please do not do the all-bold thing again. This is K5, not /. or IRC.

[ Parent ]
There's always Var'aq... (4.00 / 5) (#18)
by YellowBook on Wed Sep 20, 2000 at 08:38:23 AM EST

If your only requirement is "non-english", you could try Var'aq, the Klingon programming language. A concise description: "Lisp and PostScript threw a Star Trek party." The canonical first program for Var'aq prints "What do you want, universe" in Klingon.



Don't do that (4.50 / 4) (#19)
by dabadab on Wed Sep 20, 2000 at 08:52:36 AM EST

English is not my primary language, and at the age of 9, when I learned BASIC, I did not know a word in English (well, maybe except for "Game Over" :) ). However, not knowing the exact meaning of the original English words was not a problem.
On the other hand now I develop SW for telephone nodes which have a fairly complex configuration language with a large vocabulary - and this language has two versions: english and german. Initally I have worked with the German one, and although my German is poor, I picked up the necessary things quickly (yet again no problem using a prog language based on a mostly unknown natural language) But recently I got some configuration information from folks using the English version - and I was perplexed, and looked clueless (OK, it was not THAT bad, but it was a PITA nevertheless)
So, I think it is irrevelant that which natural language was the base for your programming language - consistency is much more important. Aim for that.
--
Real life is overrated.
Enlightening! (4.83 / 6) (#21)
by WWWWolf on Wed Sep 20, 2000 at 09:46:30 AM EST

You know, only a few moments ago, I thought of what the "print" command actually meant, and found it interesting that a newspaper printing metaphor is used in the first programming language I knew =)

Yes, there are programming languages that are not English-based. But I can tell you one thing: I didn't knew much English when I got that Spectravideo 318. When I learned how to program, I just thought "oh, funny names for operations, OK, I can live with that".

The point is: When you're learning to program, you're learning a programming language, not a human language! True, the programming language is based on human language, but that's where the similiarities end. If you say "print" to a human, s/he will put the argument to a newspaper. If you say "print" to the computer, it will put the argument to STDOUT.

For example, If I used a Finnish-based programming language (there's at least one of them, a LOGO derivative), I'd still need to learn how to program it. Just because I know the underlying human language it doesn't mean I can program any better in that language. It's still got to be learned. And had I started my programming experiments with that language, I'd have had the trouble of learning the other zillion English-based languages later on...

As a side note, I once showed a Perl map {...} ... construct to my friend, and said, "Oh, that looks a lot like Finnish, with all those sub-sentences and stuff. One long sentence." =)

-- Weyfour WWWWolf, a lupine technomancer from the cold north...


What about the dominant languages? (3.00 / 2) (#22)
by diskore on Wed Sep 20, 2000 at 12:19:42 PM EST

C, C++, Java, Perl,...and even SQL.. Are there translations for these? Do non-english speakers find it more difficult to learn them? And what about learning spoken english *after* having learned an english based programming language, is it more/less difficult? I'm going to ask my Indian programmer friend about this, I imagine he has some interesting comments on this topic.

Couple of things (4.50 / 2) (#24)
by BTilly on Wed Sep 20, 2000 at 07:20:32 PM EST

I have heard that Smalltalk can be and has been localized to a variety of languages. Somehow this is not surprising when the entire syntax fits onto a business card.

However while I don't know of any languages that do it, it should be possible to have localizable scripting languages. Most decent scripting languages compile down to a VM or some kind of opcode representation. (Which really isn't much different in principle from a VM.) If the scripting language was divided into a parsing front end and a back-end that ran the code (most are, at least informally), allowed Unicode to be used for variable names etc (many are working on this), and allowed you to associate a parser with a specific eval (oops) then it would be possible to take one, have an easy way to write a "translation module" that just took a module written in another language and translated it, and then write a parser for a completely new language. As long as the back end maintains the association for eval with the correct front end, as long as the beast is Unicode aware, this should work.

Then people could play around with localized languages without facing the huge barrier that people have today, building a usable library.

While I don't know of specific examples, I have been told by friends from India etc that attempts have been made to write localized languages, but the inability to develop a useful library killed them.

Cheers,
Ben

is this in amerika? (2.20 / 5) (#26)
by JediLuke on Thu Sep 21, 2000 at 01:16:52 PM EST

if not (aka. somewhere else) ignore the following

wtf...if this is amerika...make do with what you have. we speak english. all the people in france aren't getting all pissy cuz they don't speak spanish in schools. the usa was started by england and we speak english, learn it, live it, love it.

i swear if i see another mcdonalds fiesta menu commercial i'm going to scream.


-JediLuke
"You're all clear kid, lets blow this joint and go home." -Han Solo

Re: is this in amerika? (2.75 / 4) (#27)
by El Volio on Thu Sep 21, 2000 at 02:00:35 PM EST

Has it been forgotten so easily? The United States of America is a country based on immigrants. Granted, some of my ancestors have been here for 275+ years, but some of my grandparents were immigrants, as is my wife.

And if there's one thing about immigrants, it's this: few of them come from England. Many do not speak English when they arrive. There's a reason that the country has no "official" language. In many urban areas, you almost need to be bilingual just to get along on a day-to-day basis. The US wasn't "started" by England, a war was fought to get away from it. I agree it's a good idea for everyone here to learn English, but where there are large concentrations of non-English speaking residents, it's not wrong to be able to communicate with them in their preferred language.

Reminds me of the old (cliche'd) joke:

Q: What do you call someone who speaks three languages?

A: Trilingual.

Q: What do you call someone who speaks two languages?

A: Bilingual.

Q: What do you call someone who speaks one language?

A: American.

PS: Yes, I am bilingual. Although I grew up in a monolingual house, my home and family are completely bilingual.

[ Parent ]

Re: is this in amerika? (3.00 / 2) (#28)
by JediLuke on Thu Sep 21, 2000 at 02:11:32 PM EST

i gave this comment a 3. reason for this. he has a valid point. the US is a melting pot, and had someone else come in earlier and used another language, that would be the one we use. but no one did, until the recent mexican invasion.

what did the immigrants teach their kids to do. speak their first language at home and english everywhere else. why can't the people do this today. i have no problem with people speaking their first language, but i do have a problem with school trying to teach in several. this country has been speaking english for 200+ years, why does everythink its time to change? i'm not going to ever learn to speak spanish, unless i intend on going to spain or mexico.
-JediLuke
"You're all clear kid, lets blow this joint and go home." -Han Solo
[ Parent ]

Re: is this in amerika? (3.40 / 5) (#29)
by El Volio on Thu Sep 21, 2000 at 03:54:50 PM EST

Wow, did you ever hit a hot button. Be careful, your bigotry is showing. My wife happens to be a Mexican immigrant, buddy. "Mexican invasion"? That's laughable. A century ago, there were the same complaints about the "German invasion", and the "Irish invasion" prior to that. The "Asian invasion" was more recent. Looks to me like each one of these groups has strengthened the culture, adding to its strengths and learning from the generalized American culture itself. Does it bother you that there are so many Hispanic immgrants in this country? (News flash: A much larger portion of that community than most Americans realize comes from other Latin American countries like Honduras and Nicaragua.) Afraid they're taking jobs from Americans? Does your cultural identity feel threatened? I'm actually intrigued by exactly what it is that makes so many Americans afraid of continued immigration, inasmuch as it's something I've never comprehended.

You obviously must not spend much time around immigrants. I spend hours each week doing volunteer work in my local Latino community (Irving, Texas). Most families do just that: speak Spanish at home and encourage their kids to learn as much English as possible, since the parents are generally too old to learn to speak another language well. No one believes that

What you are describing is the sort of isolationist "good ol' day syndrome" that doesn't do anybody any good. I don't believe that you're being asked to learn Spanish or any other language. The story here is NOT about forcing English-speakers to learn other languages, but to be tolerant of those who do speak other languages.

Why do you have a problem with schools "trying to teach in several [languages]"? Do you think that the dominance of English in the US will somehow be threatened by this? If so, that's not being realistic. This will always be a primarily English-speaking country. But it is not now, and never has been, a purely English-speaking country, much as some individuals' wishful thinking may say otherwise. With so many conflicting studies regarding bilingual education, no one can state one way or the other what is the best way.

The point here, to stay relatively on-topic, is to find out if it's possible to teach programming to students (in Ameri[c]a, I suppose) who are more comfortable in other languages, in dialects based on those other languages. Is it? Should it be done? Those are two separate questions. It's probably possible. And, frankly, it's none of our business whether it should. No one is forcing your kids to learn to program in some other language. Why should we dictate how other kids learn? Cultural diversity is what makes this whole American culture strong and unique -- white American culture, black culture, Latino culture, Asian culture, and all the subcultures that make up each one of those.

Of course, your command of the English language leaves quite a bit to be desired as well. How you can believe that everyone here should learn in English when you can't even write in our native tongue properly is beyond me.

[ Parent ]

Re: is this in amerika? (4.00 / 1) (#30)
by El Volio on Thu Sep 21, 2000 at 03:57:10 PM EST

Crap, part of my post got deleted. Appended to paragraph 2 should be: [No one believes that] it's possible to grow up and thrive in this country without learning to speak English. One of the most coveted educational achievements in nearly any immigrant family is for their children to speak educated English.

[ Parent ]
Re: is this in amerika? (1.50 / 2) (#31)
by JediLuke on Thu Sep 21, 2000 at 04:32:13 PM EST

Did i ever say i was afraid of immigration? no...did i ever say i was afraid of my job being taken by mexicans? no...did i ever say i hate mexicans? no. my girlfriend is Vienamese and first generation too.

Spanish is being forced on us...especially those of us in southern california. would i care if it wasn't, no. i speak english, and when i have to go to the ATM and select the lanuage i speak, this bothers me.

what i do dislike is people who have stickers on their car/truck that have a calvin in a sombraro pissing on "AMERICA". if mexico is so great why not live there?

i am not a bigot...i am an american. the great part about this country that every says is evil and distructive is that you can say that. we give everyone a chance to build something from nothing. but when people want to pull down on what i have worked hard to build, i have a problem with that. i'm tired of having to be nice and politically correct. i want to say it how it is without fear of people say "oh he's a bigot" i'm not.

the problem is that nowadays we give people everything. what happened to my grandparents when the came here? they weren't given WIC (CA state program for mothers) or Welfare...no they worked their asses off and made something from nothing. so why the hell should i give what my family worked for to people who don't deserve it?

i speak "American". this i must admit. its a combo of french, english, spanish, russian, etc. but when i have to change to "Spanish" i get pissed.

one last example. do the indonesians in the Netherlands try to get half the country speaking Indonesian? NO!

don't call me a bigot when i'm not guilty of bigotry.


-JediLuke
"You're all clear kid, lets blow this joint and go home." -Han Solo
[ Parent ]

Re: is this in amerika? (3.00 / 2) (#33)
by byoon on Sat Sep 23, 2000 at 02:51:44 AM EST

Living in Southern California you should realize that where you live was part of Spain and then Mexico for far longer than it has been part of the US. Spanish has been spoken there for a few hundred years. Americans didn't even care about it until gold was discovered there. I guess you better change the names of the cities while you're getting rid of the dreaded Spanish. How about The Angels, Saint Francis, Sacrament, Ash Tree, and Tall Stick just to get you started.

Seriously, in response to the original article. The quickest way to get someone up to speed is to communicate in their language if you can. If students need a Spanish C to get them started while they're learning English, that'll move them along in C while they learn the English words. Have you ever taken a foreign language course? Most of the book is written in English. It's gotta be the same way for other people learning English for maximum effectiveness.


"I'm a going to break you down into the little cubes." -Picasso
[ Parent ]
Re: is this in amerika? (3.00 / 1) (#34)
by C0vardeAn0nim0 on Sun Sep 24, 2000 at 09:30:54 AM EST

when I was studying physics at the college I had programing classes. Before they introduced the students to C the teacher used a language called "portugol" (a contraction of portuguese and algol) to teach the logical structure of a computer program, introducing things like loops, flow control, decisions, etc.. At that time I was already an assembly programer, so I tought that was a stupid way to teach programing, but when I saw how dificult it was for other ppl to learn even a portuguese-based language I understood that techning english-based C from day 1 would add an extra level of dificulty, specially for students without a solid knowledge of english.

http://www.comofazer.net
[ Parent ]
Opportunity for experimentation (3.00 / 2) (#32)
by janke.on.tap on Fri Sep 22, 2000 at 05:34:07 PM EST

I don't know of any good programming languages that are designed to be in Spanish or Korean. But, for that matter, there are very few, if any, programming languages in English. A language is comprised of vocabulary, syntactic rules and structures, semantics, and usage customs. While there are lots of programming languages which share a subset of English vocabulary, the syntax and semantics of all programming languages are substantially different from English.

This suggests a couple of interesting experiments you could perform. There's been a lot of speculation that knowing the natural language whose vocabulary is used in the programming language can be a stumbling block to 'true' understanding of the programming language, primarily due to false cognate problems. But how much empirical information do we have on this? Your class could be a decent test case for gathering this information, if you used the same curriculum in classes with native English students and non-native English students and compared outcomes. Of course, you would have to find a way to control for teacher-student language difficulties - do you speak Spanish/Korean yourself?

Another experiment would be to do the language conversion yourself. What would it take to translate C into another language? To me, it seems that all you need is a simple mapping of keywords and popular library functions into another language. Identifier substitution doesn't affect the syntax or semantics of a formal system like a programming language.

Without changing the compiler or library files, you could choose your own translation into, say, Spanish, and have your students write their source code in your new "Spanish C". Then use a text editing tool like sed, or even the C preprocessor, to translate all the "Spanish C" keywords and identifiers back in to the original "English C":

s/por/for/
s/clase/class/
s/conmutar/switch/

You would also need to make sure that the original keywords and names were not accidentally used in the "Spanish C" source... appending something like "__SPC" to each should avoid collisions.

The Spanish C experiment could make it easier to teach your students programming fundamentals. On the other hand, they'd have to make the transition to the English version of whatever language they'll be using in the industry.

Would it be worth it? I don't know. Would it be interesting? I'm sure. Perhaps there would even be a broader interest in developing a translation package for use with other languages. You could take it even further by using a Spanish-English dictionary to make substitutions for all identifiers in the program. Computer deBabelizing like this often produces silly or illegible results with natural language text, but the mechanical syntax of most programming languages wouldn't give it any problems.

Janke

FORTH? (4.00 / 1) (#36)
by Alhazred on Wed Sep 27, 2000 at 10:24:05 AM EST

It would be trivial to localize GNU FORTH (or any other FORTH for that matter) to whatever language you wish. The syntax is almost entirely arbitrary, and anything can be redefined. Its also a model of elegant software design which any aspiring software engineer should study closely.
That is not dead which may eternal lie And with strange aeons death itself may die.
Foreign Language Programming Languages | 36 comments (32 topical, 4 editorial, 0 hidden)
Display: Sort:

kuro5hin.org

[XML]
All trademarks and copyrights on this page are owned by their respective companies. The Rest © 2000 - Present Kuro5hin.org Inc.
See our legalese page for copyright policies. Please also read our Privacy Policy.
Kuro5hin.org is powered by Free Software, including Apache, Perl, and Linux, The Scoop Engine that runs this site is freely available, under the terms of the GPL.
Need some help? Email help@kuro5hin.org.
My heart's the long stairs.

Powered by Scoop create account | help/FAQ | mission | links | search | IRC | YOU choose the stories!