Monday, November 8, 2010

GNU/Linux Application Programming book review

I completed the sections of GNU/Linux Application Programming (Programming Series) by M. Tim Jones which I have been learning from for the past three months or so.


I focused on Part I - Introduction, Part II - GNU Tools and Part III - Application Development Topics. I just skimmed through Part IV - GNU/Linux Shells and Scripting and Part V - Debugging, which I have a feeling I'll come back to.

I posted my review to Amazon which I'll reprint here:

I am an experienced software engineer but have not had much experience programming for Unix/Linux environment. I was also interested in a basic book to go into low-level C system APIs. This book provided a good introduction for me at a reasonable pace over a wide range of subjects. I focused on the C programming chapters, but there are additional chapters for things like source control, shell commands, awk, sed, Ruby, Python and debugging.

Book expects some familiarity or background with C programming language. While basic functions of the Standard C library are described, the language constructs and syntax of C are not referred to at all but are assumed familiar to the reader.

Other reviewers have mentioned that source code was available for free online so CD was not valuable. I have not found this to be the case, so in that respect the CD is useful.

Some negatives, in general code samples were often incomplete, with errors. Several of the chapters of the book contain content with mistakes or do not list all necessary prerequisites. For example, I tried to perform almost every code/script sample provided and ran into numerous issues or additional packages and tools to install that were never mentioned. Some code would execute on a 32-bit Linux system but not on a 64-bit system. Also I found the code samples provided on the CD to be lacking in completeness, for example a sample code for a Makefile example from chapter 6 did not include the source files the Make script was supposed to build. In the end it did encourage me to create my own "Hello World" type source files just to go through the same steps being described in the book. Other chapters included source but not Makefiles to compile the code, source files with no relation to the examples in the book and source files that did not compile. Generally such errors could be resolved with a few minutes of Internet research on the errors/warnings.


For my next act I'll start on Real-Time Systems and Programming Languages by Alan Burns and Andy Wellings.

No comments:

Post a Comment