One positive example of a book that is ageless when measured against internet time is Linux Programming by Example by Arnold Robbins and published by Prentice Hall. Don’t let the 2004 publishing date fool you, the book is just as useful today as it was all those long, long three years ago. A C biased book on the subject of the fundamental core API’s such as file and memory management within GNU/Linux and based on the explanation of free software core commands, this is a powerful and valid helper for needy learners of the fundamentals.
The book’s cover
My first impression is that Arnold Robbin’s book requires that the readers have a rather complete base level knowledge of C programming and a good idea of what pointers and indirect pointers are. Once you, the reader, fulfill these minimal requirements you will find yourself in GNU/Linux programming paradise with many well constructed and relevant coding snippets.
Once you, the reader, fulfill these minimal requirements you will find yourself in GNU/Linux programming paradise
I know what I like as a developer and that is to get my fingers into code and my aching head sweating with prototyping. This is the way I learn the best and the approach that Linux Programming by Example is based on.
Linux Programming by Example is contained within a strongly built wall of 710 pages. A thick book, full of highly digestible and well-chosen C coding examples, this tome covers the full range of needed API functionality.
A thick book, full of highly digestible and well-chosen C coding examples
Each chapter ends with exercises and ideas for stepping further into the light of contentment. Having a teaching background, I can clearly see the book as a central theme in a degree level computing course.
The book is split into four parts including appendixes. The first and easiest section describes the primary interactions possible with file and user entities. The second section is on the subject of processes, IPC and the potentially fiddly subject of internationalization and the third section is on the tasty subject of debugging.
The fact is that the book uses real world examples of source code that would not be available to this generation if we as an internet wide community had no concept of free software, resonates with my ethical instincts. I particularly liked the mentioning of coding and documenting standards within the GNU project.
If forced again to choose my favorite few snippets then “Chapter 4.3: Determining What Went Wrong" is near the top of my personal hit list. Not that anything ever goes wrong, but you never know, my evil twin brother that sometimes takes my place coding may fail at 3AM due to lack of pizza.
My favorite subject area was definitely the whole of chapter nine and the creation and use of forks—a practical methodology that I have failed to correctly implement occasionally in the past.
Who’s this book for?
This book is for the poor programmer who has been asked to-do something with GNU/Linux, but has not started to climb the tree of knowledge necessary to be functional. The book is also potentially for students and teachers who are involved in a practical approach to learning C or the inner workings of GNU/Linux.
Relevance to free software
GNU/Linux, and C especially when expressed through the GCC range of compilers, and the example code mentioned are fully free software. Writing fast efficient programs can only boost (if the boost is really possible any more) GNU/Linux’s iconoclastic status
If you are looking for a stepping stone to programming using the full range of GNU/Linux API’s then this straightforward and laser focused Prentice Hall Open Source Software Development Series book is for you.
This excellent, did I mention example-ridden, book is fit for purpose. Therefore, if you do not want to learn the fundamentals of programming GNU/Linux in C then and only then do not buy.
||Linux® Programming by Example
|Over all score