[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Greetings from new member




آهلا وسهلا


After lurking for quite a while (first discovered arabeyes a few years ago, if I remember correctly) I've decided to take the plunge and try to find the time to get involved, so this is my introductory missive.

First off, congratulations to everybody involved; arabeyes is a very impressive project and it has progressed quite a bit since I first discovered it. Obviously computing is still in its infancy in the Arab world, and it's exciting to see a community coalescing around a project like arabeyes with its emphasis on free software and full arabization.

As for myself, I'm more-or-less fluent in Arabic (enough so to land a job working with Arabic after years as a software developer) and I hope to help out mainly by assisting the translation effort.

I've got a million ideas for arabizing software (who doesn't?). I've been thinking about it for many years, ever since I first started studying Arabic and realized the potential of the computer in making this arduous task easier. But also (and more important) the need to close the technology gap between the "advance" world and "the rest" of the world is a great motivator.

In particular, here's what I see as a fundamental issue: the nurturing of an indigenous, monolingual software development community. By this I mean it should be possible for a kid anywhere in the Arab world to learn to hack code without having to learn English first. A simple measure of success is easy to define: successful implementation of a major software project entirely in Arabic. (The same obviously goes for any linguistic community; I just happen to have learned Arabic so that's where I concentrate.)

So I propose as a possible goal for arabeyes the design and implementation of an Arabic language programming language. Virtually all programming languages today are optimized for expressiveness in English; what would happen if we had a language optimized for expressiveness in Arabic? Arabic is terrifically powerful and flexible when it comes to abstraction; who knows what interesting things might come out of a project to create an Arabic-based programming language?

As a start, I propose the arabization of Scheme, probably using the Guile implementation. Scheme is very simple, very powerful, relatively easy to implement, and it's a wonderful language for learning computational concepts. I think it would be relatively simple for a good experienced programmer to modify a Scheme implementation to work with Arabic keywords and handle Arabic strings. Wouldn't it be fun to write code in Arabic?

Another goal I propose, for which I have an immediate pressing need, is the arabization of a basic set of XML tools. First off, a decent editor with a user-friendly interface. I've downloaded and tested 20+ editors in the past few weeks, and have yet to find one that supports Arabic. Many of them, strangely enough, almost support Arabic - they shape the glyphs properly, display Arabic right-to-left, but editing doesn't quite work; the cursor behaves strangely, so you can't tell where the true insertion point is. In any case, I suspect it wouldn't take all that much effort to enable basic Arabic support. Possible open source candidates are http://www.butterflyxml.org and http://www.xerlin.org. There are other free xml editors but their names escape me at the moment. Once I've finished my evaluation of editors I'll post the results to arabeyes.org.

In addition to XML editing, I need a good file comparison tool that handles Arabic. I've looked at a bunch of them but still haven't found one. If there isn't a good one out there I suppose the thing to do would be to arabize gnu diff.

Finally, just to stoke a little discussion, I'd like to get this off my chest: Unicode is a catastrophe for the Arabic-speaking world and for any community using a right-to-left writing system. Why? Because contrary to the claims of the Unicode designers (and virtually everybody else, alas) Arabic is not bidirectional, nor is any other language in the world. The alleged evidence for said bidirectionality is numbers in Arabic. But in fact this claim is based on spoken Arabic, which is obviously not the same as written Arabic, and furthermore is not uniform - it is not uncommon to hear Arabic speakers utter numbers in LSD-first order. This is incredibly frustrating, because the issue is so simple - all you have to do is realize that written Arabic is a monodirectional language with LSD polarity - it writes numbers Least Significant Digit first. The fact that people usually utter numbers MSD first is totally irrelevant to the writing system. English happens to be a monodirectional language with MSD polarity. Big deal. I don't see anybody claiming that, because we say "seventeen" and not "tenseven" the number should be written "71". It's idiotic, the bidi requirement. grrrr.

Think of it this way: Unicode is a hidden tax on the entire rtl world, whose value I would guess must surely reach into the billions of dollars. Without the bidi requirement it would be a relatively simple matter to adapt the billions and billions of dollars worth of software out there to rtl languages. With the bidi requirement, most of it will never be adapted. Just try asking your favorite small software company to support Arabic and you'll see what I mean: "it's too expensive to implement bidi".

And that's not even considering the bizarre (and IMHO totally unacceptable) behaviour of the cursor in bidi enabled software. Nor the many other issues that make Unicode Arabic one of the worst designs in the history of technology.

Whew! Got that out of the way. Thanks for listening. ;)

Gregg Reynolds