6 of 7 people found the following review helpful
A masterstroke of genius writing on a very important programming topic. Revised to keep it relevant.,
This review is from: Advanced Programming in the UNIX Environment (Addison-Wesley Professional Computing Series) (Kindle Edition)
The latest edition of a maestro! Still reigning supreme, a masterstroke of genius writing on a very important programming topic. Immensely readable, near-thorough in coverage of its very technical subject, this books remains excellent for doing anything serious on Linux/UNIX using C. And can anyone argue that Linux/Unix, and its diverse brands, have not become the platform of choice for hosting modern, distributed mobile and web-based application systems? Linux has been gradually moving on, and this update was really due and necessary.
First one needs to possess or build up a good knowledge of and ability at C (with books such as C Programming Modern Approach 2nd or Programming Language 2nd Brian Kernighan supported by the former) this Stevens book's content and guidance is a requirement for crafting any meaningful and useful system with C on Linux/Unix and related operating systems.
I crave the reader's indulgence for a quick (somewhat relevant, I believe) digression. And for such modern, distributed system development you would sure need essential system characteristics such as fault tolerance, scalability, live upgrades without down-time, soft real-time transaction response times and massive throughput; use of distributed in-memory databases, fast instant messaging, robust message queueing systems, Continuous Delivery/Integration, Testing tools, etc. And if one wants to do this without massive resource and time requirements the choice is essentially narrowed down to one platform essentially: Erlang/OTP and its Ecosystem of Library API, Platforms, Tools, etc. So search Erlang, Riak, RabbitMQ, etc. on Amazon. Maybe start with these two books, if you haven't: Learn Some Erlang Great Good and Erlang OTP Action Martin Logan
But C is not going anywhere soon. You will need C to augment Erlang/OTP, especially at the Systems programming and device interfacing level, where raw performance is essential. Erlang is performant enough, but in these areas C trumps all. And that is where this maestro of a book comes in. I think one needs to use it with another recent book with similar ethos and content but slightly deeper coverage: Linux Programming Interface System Handbook
And if time allows, or should one not say make time to read Jim Gray's & Andreas Reuter's superb and evergreen distributed, transaction and database design and system programming book: Transaction Processing Concepts Techniques Management to round up your distributed software development abilities. When you have read and imbibed this too you are ready to develop useful distributed systems and sites.
(6 customer reviews)