Let me start off by saying I believe the new client for Unix like operating system should be written in a dynamic language such as perl, python, ruby, or even all of the above.<br><br>I'm thinking out loud, and am soliciting advice on my thought process, so please feel free to criticize ... etc
<br><br>Some working assumptions:<br><br>1) Windows client in <a href="http://dev.grub.org/svn">dev.grub.org/svn</a> is currently further along than old-ish linux client on sourceforge.<br>2) The protocol re-write Jer is working on will vastly simplify communication between clients and server
<br>3) libarc (c++ <a href="http://libarc.sourceforge.net/">http://libarc.sourceforge.net/</a>) exists as a nice resource for creating arc files that are part of the new protocol spec.<br>4) *I* would personally like to see the sourceforge project shutdown / deprecated and merged into the main
<a href="http://dev.grub.org">dev.grub.org</a> SVN repo.<br><br><br>Looking at these assumptions one possible pain-in-the-ass aspect is libarc, although the arc format is fairly simple, as outlined here: <a href="http://www.archive.org/web/researcher/ArcFileFormat.php">
http://www.archive.org/web/researcher/ArcFileFormat.php</a> -- it would still entail writing arc creation libraries in said languages. <br><br>That seems like a daunting task -- but I actually believe it to be vital. There are several facets to the "Human power" behind Wikia, one of those is the (future) ability for anyone with spare cycles to contribute data that will be used in the index, and available tot he community. By creating grub clients in different languages / frameworks / environments the project would enable people to contribute in was that we are currently not thinking about.
<br><br>I think having the client implementation in something like python, or perl would enable more people to get involved in the on-going development.<br><br>To wrap it up, I think the first (of many) clients should be written in Python. It's OO, cross platform, and easy to read.
<br><br>Thanks,<br>Yousef<br><br><br><br>