Hacker News new | ask | show | jobs
by ginko 3753 days ago
As someone who's not an English native speaker I feel localized programming languages are sort of missing the point. The syntax of a language usually isn't really the main roadblock in learning a language and while it might help that you have some documentation in your native language, you're essentially cut off from the rest of the world's documentation on the topic. And considering that you should have a workable grasp of the English language by middle school I wouldn't say that it's much of a roadblock when learning to program.
4 comments

I agree, I never had issues with the fact that Pascal or C where "in english", I never cared about the translation of "repeat-until" in my own language.

Actually, I have to say that viceversa when I started learning English more seriously, the opposite happened. I realized the connection and, for instance, was able to put "until" in the correct sentences because it had a precise meaning coming from the programming languages.

As an original non-native English speaker, I respectfully disagree.

People say my name is spelled funny or is too long...but it's not my problem, it's English's problem. Its only 6 characters in my native tongue.

In the same vein, what other ideas or concepts from non-natives are we missing because we are forcing them to learn a new language AND then to program? Furthermore, when we in the West talk about open-source, diversity and equity, we're still speaking in English. We're leaving a huge population out because the barrier to entry is learning English. If non-native speakers are now able to solve their own local problems in their local language, this is a boon for humanity and why we should encourage efforts to break down barriers like this.

I for one, welcome this endeavour and thank elangoc for his work on this.

I learned programming before I knew anything about English and I don't remember it being a problem. Even before that I was using commands like "LOAD" without knowing what do they mean. It was just a keyword to use when I needed to load something from a cassette. The same with "IF", "PRINT" and all the other English keywords I encountered while learning programming. I was learning using local books, but the fact that programming language used English keywords did not bother me at all.
We force people to learn a new language to program, but it's certainly not English.

It's a stretch to even call some of the keywords in some languages words (car, cdr, con?). They're just tokens to feed to the compiler or interpreter, like parenthesis.

Even when full English words are used, it's rarely in the conventional meaning. English speaker or not, you'll have to learn what the word actually means in the given programming language.

> If non-native speakers are now able to solve their own local problems in their local language

But they won't be able to. Having a few keywords in your own language is vastly different from 'being able to solve problems in your local language'. It sounds like you don't understand programming.

I was referring to the fact that you don't have to learn English to code. A barrier that you don't seem to acknowledge.
For languages that roughly share the same alphabet as English, it seems more like learning a few new words, rather than actually learning English.

If you take a look at the actual project you'll see that translating the language features to another language (and alphabet!) is cool, but not actually enough once you want to start interacting with libraries.

Which essentially means that without learning english, you will be stuck in a technical ghetto with the only way out being to learn english, or reimplement the world.

I still think this is highly interesting as a teaching tool; showing kids what is possible without requiring them to learn english may be a good motivator to actually learning english, but this doesn't seem to have many applications beyond as an introductory teaching tool.

Are there any (programming) languages who's important libraries have solid documentation/tutorial coverage in non-english languages? Honest question. Those are a big part of programming for me.
Yep. Ruby springs to mind. The creator, Yukihiro Matsumoto ("Matz"), is Japanese. He co-wrote the first Ruby book, which was in Japanese. And a year later, he co-wrote the first book for Ruby that was in English.
Can you explain that more? I see plenty of programming books in foreign languages.
I still think localized programming languages are a good first introduction for students with low English proficiency. The less initial barriers there are for the student, the easier it is to gain interest. Moreover, it takes students a while to realize that a programming language is distinct from natural language so they are generally more comfortable "programming in a natural language" they are fluent in. It should be easier to move to a programming language with syntax in English once basic concepts are picked up. I've had good experiences using Chinese Python with students.
Isn't that done verbally in math class? Never mind the cryptic symbols.
when you say "not an English native speaker", is your native language also having a non-Latin script?

Most (not all) european languages (e.g., French, German, English, Spanish) have same or almost similar script, making it easy to pickup words and phrases of an another language with the same script.

Agreed that you are cutoff from the rest of the world's documentation on the topic, I do see your point there. But, without this bridge, people who dont know how to read/write/understand latin/english script, they are cutoff from the world not just on the topic, but everything else.

Here's why that is important to know: By some estimates, about 10% of Indian population can speak english. Even if you were to consider 20% can read the english alphabet, thats still nearly a billion people who will have difficulty in getting started with programming, because all they know is a Tamil, Kannada or Telugu script (all quite different from each other and from English).

having a localized programming language can enable lot more diversity in the field of computer programming (especially in countries like India).