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

Re: Quran project maintainer (Mohammad DAMT)



Salam bro
Welcome to arabeyes, I hope you'll be comfortable with everyone :)
As for C++, I agree with you, as I didnt work on huge projects,
and my only reason choosing C++ was because of the OO concept,
as I think its easier to work with, especially Classes and Scope,
as I like it when you tell some one, go get XX class done! or modify DDD class... etc

Well, seriously, I don't mind anything, as its just a thought from a not very experienced programmer :D

Wasslam 3alaikum

On 7/22/07, Ahmed Ghoneim <ahmed dot ghoneim at gmail dot com> wrote:
Salam 3alaikum,
First off, I'd like to thank  the two gentlemen  who stepped up to the
responsibility of maintaining this important project. The project has
been stagnant for a while, I had some input/questions a while back but
they went unanswered, hopefully this will be changing soon.

I would very much like to offer my help as newbie junior member, and I
also have some input on what I've done with the project so far.

To offer help with the project I need to introduce myself to the new
maintainers so that they could assign tasks that better match my skill
set. I'm a software developer based in Orange County, California, my
day job is doing Java/C# interop (ORB/IIOP) for enterprise software,
at previous jobs I used to do Java/C development for linux with some
device driver development thrown in. I have good command of
C/C++/Java/C#/Assembler and many scripting languages.

As for my input, in no specific order, here goes:

WIN32
I do have a fully functioning native Win32 build of the library
(Mingw), I did some small changes to make the source more friendly
e.g. ifdefs for something like LIBQURAN_SCOPE to mean extern or extern
__declspec(dllimport)
I did some fixes for a couple memory off by one errors that don't sow
under linux
Added some missing support functions for windows like scandir
Will add function to get config file from default user profile instead
of hardcoding "C:\windows"
Bottom line, the source needs to groomed to make it more friendly in
different build environments.

BINDINGS
I do have a fully functioning C# wrapper library save for the audio,
the sound callback from native to managed works fine but I think the
data gets corrupted (endianess?), but this should be no problem under
mono, as linux is more consistent with utf8, under windows I have to
manually get bytes IntPtr, as windows type marshaling from native to
managed is anything but consistent (some strings arrive fine, others
don't)
Java bindings is in the way, I just didn't have much time lately
Bottom line, I think we should favor bindings to help keep one
consistent lib/interface, the source is simple (GoodThing TM) and
clean enough to be easly ported anywhere a C compiler is available
(save for the XML part which Mohammad is addressing, XML->Binary
compiler is great idea btw)

PERSONAL OPINIONS
I agree with Mohammad suggestions for the future as in a previous
discussion, I think a plugin architecture is the way to go, also more
emphasis on mobile devices as there should be some demand here, also
the windows environment is neglected and needs some attention, I had
some friends ask for a copy for windows, which I couldn't provide,
that's why I created the C# bindings (UI in native win32 is a pain and
MFC sucks)
I also think we should stick with C, as the extra fire power (and
complexity) of C++ is not needed for a project this size,  plus C
being a smaller/simpler language with standard that you can get 20
people to agree on, makes it easier to port from platform to another
(in my experience you can't trust the C++ compilers too much between
platforms)

Thanks again

Ahmed Ghoneim