Advertisement
Membership
Login
ACCU Buttons
Search in Book Reviews
Search is a simple string search in either book title or book author. The full text search is a search of the text of the review.
The 28 chapters fall into two broad categories; those covering 'general' programming topics and those that progress the example application. The general chapters (called 'take-a-break' chapters by the authors) cover basic topics (version control, debugging techniques, distribution formats and internationalisation) as well as advanced topics such as implementing diskless workstations, programming Beowolf clusters or writing device drivers. The example application, a DVD-store, is used to introduce topics such as GUI programming (using both Qt/KDE and GTk+/Gnome), CORBA and RPC.
The bulk of the code presented is in C, although many other languages are also used, including C++, Python, Perl, PHP, XML, Flex and Bison. Detailed chapters on PostgreSQL, MySQL and LDAP complement a chapter on the use of databases. The only assumptions made are that the reader is familiar with Linux, is comfortable with C programming and has some knowledge of OO techniques.
Although a lot of work has gone into making the work of all fifteen authors fit into the same style, there are a few places where idiosyncrasies have managed to slip through. For example in the chapter on XML there is a piece of code that mixes pointer and array styles in a way which makes the meaning of the code quite obscure (in fact it's simply trying to print out all the strings in an argv-like NULL-terminated array ofchar*s). Fortunately, examples like this are very much the exception rather than the rule and given the target readership they should not cause more than a brief 'what's going on here?' moment.
Overall, Professional Linux Programming achieves what it sets out to do - to develop the skills of a 'home hobbyist' programmer to the point where they could usefully contribute to the GNU world of Open Source development.
The authors' website is at:http://www.docbox.co.uk/