M Gamal, I just want to comment on ITL only. The rest, I have no experience with.
- ITL I've seen in the wiki that ITL needs to be ported to other languages. I like this idea very much as it suits GSoC ideally. It doesn't seem so hard and is doable within 3 months.
I have ported ITL to C#, and it took only a few days. I did not do any redesigning, just a translation. In the process, I found a bug in the source. You can trace it back in the list. I know someone already port it to PHP. My target is actually to port it to javascript. I have ported a C prayer program before to javascript, and I think it is doable. To port to Javascript may take longer that C#. So, I think if you want to port ITL to other languages, I think it will take about 2 weeks fulltime, the most. However, FYI, I did the porting without much understanding how exactly it works, but rather just a translating and testing to ensure each function works as expected. But I have a few stupid questions here:
* What is exactly meant by porting? Should the whole code be ported to other languages, or should we simply implement bindings to them? * Should the student port to more than one language, or is one language enough ? (For myself, I would like to do that with Java and/or PHP)
My understanding is, binding is just creating an interface to the target language. For example, we have created a dynamic loading library for itl, itl.dll or itl.so . To bind to other language means you need to "extend" the language to be able to load itl library. For Perl, usually people will create a Perl module. Similar is for PHP. For .NET, it is actually quite easy to do, we can load the dll using it's interface. By doing this, you can call the function in the library (which is written in C) using your favourite language. Porting is basically you modify the original source code. Porting to another language is basically re-implement it in another language. There a pro and cons to both method. With binding, you can be sure that you will get exactly the same results everytime, simple because it is the same code that processing it. If you improve the code, the "binded" language will get the improvement as well without much effort. However, the cons will be, sometimes it is more difficult to bind, esp if you have limited privilage to the system. For some language, binding may not be possible/practicle at all (think Javascript). In my opinion, for library like ITL, maybe a good idea to port it to another language rather than binding. I'm saying this because: 1. The library is relatively small in code size. 2. Not much changes in the code in the future. I'm sure others have a different view. Regards.
_______________________________________________ Developer mailing list [email protected] http://lists.arabeyes.org/mailman/listinfo/developer

