40 of 43 people found the following review helpful:
5.0 out of 5 stars
Gets you up and running with Linux programming, July 18, 2005
This review is from: GNU/Linux Application Programming (Charles River Media Programming) (Paperback)
All the topics that one needs to read to come up to speed with Linux programming, development and maintenance, scripting and even tuning are covered in this book. The author starts with the basic architecture of the Linux operating system, and delves into the details of each part: scheduler, memory manager, virtual file system, network, ipc and init. The reader starts with an overview of what the Linux operating system looks like "under the hood", and is taken thru a series of sections that cover application development using each section of the Linux kernel. Overview application programming, performance analysis and debugging using various GNU tools such as the the GCC complier, make, gcov and gprof are given first and are used throughout the book by the author to further demonstrate the features and benefits of the available GNU tools.
By now, the reader is presented with the necessary tools needed to create application, and is not time to delve into specific programming techniques and API's. The book starts with simple file handling API's and examples, and goes into more complicated topics such as:
* Linux Pipes
* Sockets programming
* Multi-process development and the Linux process model
* Multi-threaded development and the Linux threading model
* Messages Queues
* Synchronization and Semaphores
* Shared memory programming
Even though each of these topics are very complicated and an entire text could easily dedicated to it, the author with elegance covers each topic such that the reader could get an overview of what is at stake. Each topic is rather short, and very well written with examples and a step-by-step instruction of how to write simple programs. Each chapter is like a short and sweet introduction to the topic at hand. One of my favorite chapters is, "Synchronization with Semaphores," in which the author further illustrates the point using sequence diagrams of events, elaborated examples and tips on how-to's.
The chances are that programming in a high-level language such as C is not enough, and one needs to compliment his/her application[s] with scripts and many other available Linux tools and commands. The last section of the book is dedicated to what some people might call odd-and-ends, but to me, they are as important as any other topics in this book. Bash, Sed, awk, flex and bison are some of the scripting languages that are covered. As with the previous sections of the text the author covers each topic using examples plus a step-by-step depiction of each example.
If you are new to the Linux programming environment or you need a refresher text like I did, you will find this book very useful. Tim does a fantastic job covering a broad topic, and doing so with such ease and elegance. The examples are priceless, and the CD at the end of the book has complete source code to the examples given in the book.
Help other customers find the most helpful reviews
Was this review helpful to you? Yes
No
28 of 29 people found the following review helpful:
2.0 out of 5 stars
Disappointing code examples, September 2, 2007
This review is from: GNU/Linux Application Programming (Charles River Media Programming) (Paperback)
Looks like I'm going to break the mould of giving five star reviews to this book.
Part I is a brief overview of the history and motivation behind Linux. No bones there.
Part II covers compiler and related tools. I learnt a few things from these chapters (I wasn't familiar with either autotools or gcov).
Part III covers application development. The emphasis is mainly on IPC. There are some grim errors in the code. In particular, I winced when I saw the use of asserts that contained statements performing actions with (necessary!) side-effects. Compiled in optimized mode in most environments, this code will crash. For this section, Stevens/Rago APUE or Rochkind AUP serve much better.
Part IV, shell scripts and tools is OK, as is part V, debug/test.
I'm not sure why there's a CD included. It contains the source code (of little value, easily downloaded) and all of the diagrams used in the book. I can't imagine that they will ever come in handy.
Help other customers find the most helpful reviews
Was this review helpful to you? Yes
No
24 of 26 people found the following review helpful:
5.0 out of 5 stars
A Useful Book!, December 7, 2005
This review is from: GNU/Linux Application Programming (Charles River Media Programming) (Paperback)
I've read several books on programming, and several on Linux. This book covers a ton of stuff, some easy, some complex, but all useful.
I would recommend this book to any programmer wanting to know how to use makefiles, autoconfig, file handling, programming with sockets or pipes, multi-threaded programming, awk,sed, dynamic libaries,flex bison, the list goes on and on.
I don't know that this is introductory, but parts are, and the book can be grown into. It's arranged much better then my list of topics above.
I liked this book so much that I logged onto amazon just to write this review. It is a great book.
Help other customers find the most helpful reviews
Was this review helpful to you? Yes
No