Hacker News new | ask | show | jobs
by AimHere 2434 days ago
So if it's not such a huge barrier for a foreign programmer to program in an English-centric computer programming language, surely the same can be said about non-Arabic speakers who might want, or have to deal with this language?
3 comments

The problem is not so much non-Arabic speakers having difficulty dealing with the language, since they're not really the target audience. But if an Arabic speaker tries to use this language to write a program for some specific use case they have, they'll have to work around the complete lack of ecosystem that comes with a novel language in a tiny niche.

It's the same reason why Chinese developers haven't banded together to create a Chinese-based language. They still code in Chinese, but the languages and libraries they use are mainstream: C++, Java, Python, ... All of these languages support arbitrary Unicode in comments and Java and Python also support Unicode identifiers. As a result, Chinese documentation is available even for software that's otherwise in English. However, if you tried to convince Chinese developers to abandon their battle-tested languages with a rich ecosystem for some other language just so they can use different keywords, you'd get laughed out of the room. It's not solving a problem they have.

That doesn't mean that localized programming languages can't be useful e.g. in education. But translating documentation and libraries is useful for many more people than translating the syntax of a language.

As mentioned in the top comment on this article, this is why the software community avoids fractures by programming entirely in FORTRAN. /s

Your comment is an argument against any new programming language.

Yes. Any new programming language needs to offer something more than just different syntax if it wants to be used by more than just a handful of people.
As an English speaker with a US keyboard I would have a very hard time with قلب because I'd have to learn how to at least read Arabic and how to type it. In any other language, using say Spanish, using Latin script I at least only have to learn that importar in this Spanish language means include the library. In an Arabic language it'd maybe be استيراد which I'd have to memorize the whole word AND how to type it, which on my keyboard would be changing the layout and buying a sticker set. [1]

[0] Disclaimer all the Spanish/Arabic/etc words were pulled directly from google translate.

[1] Though Arabic is particularly rough because the shape of the letters change based on the letters around it so you have to learn that too! See: http://www.arabion.net/lesson2.html

I understand as an native English speaker I'm in a fortunate position that by a combination of history and random chance computer development happened largely in my language. But given about 70% of the world uses Latin script keeping languages largely based in the English language the majority of the world is able to use their native script at least which is one less hurdle to learning to program.

What I think may be more useful for bringing more people into programming in their native language would be thinking about providing transliterations where, for example, the Python keywords are translated into Arabic. Doing that Arabic speakers could write in their own language and English speakers could run a utility that maps from the Arabic keywords to the current standard English keywords. Stuff like variable names gets a little tricky there I'll admit, not sure how to handle them, maybe Romanize them too?

While this is true as far as it goes, there's a difference in cost/reward tradeoff in having to understand the Latin alphabet to be able to read materially all programming languages, and having to understand many different alphabets to do so.