Raymond does a good job of explaining the philosophy driving the Unix-style of programming. Coming from a background programming Windows, I always thought of the Unix approach (lots of abbreviated command-line utilities, mini-languages, pipes, semi-unstructured text-based process integration) as down-right primitive. However, after reading this book, I've started to understand the philosophy (and the practical reasons) for adopting this approach. I'd definitely recommend this book especially to newbie programmers from the Windows or Mac (pre-OS X) worlds. That said, I do have some criticisms: One of the problems with this book is the overly partisan tone it takes - one gets the impression that absolutely nothing Microsoft has ever done is of value, but the other major desktop PC OSes (Apple, Linux) represent different forms of perfection. (At home, I run Mac OSX, RedHat Linux and Windows, and have a reasonable sense of their relative strengths and weaknesses.) So, be...
Even for a primarily Windows programmer, this is a great book to read. He provides a great overview of the Unix design philosophy, its evolution over time, and the things that it still doesn't handle well (user-centered design). He also digs deeper into a lot of the patterns in program organization and coordination to help you choose what to build into a utility, what to expose as a library, and what to package as a set of binaries. There's even a small bit of programming advice from place to place. I'd highly recommend reading the book to at least get a sense of perspective when you're designing your next system. He's right on the mark that the Windows and UNIX worlds have a completely different philosophy on program construction, each with their own merits. His comments about the Windows registry were a bit distressing, though -- not because they're negative, which I consider fine. Rather, it was obvious he'd never used it (comments like "there's no API for it") and...
The writing style of this book tends to hurt the reading experience, as Raymond trumpets his own minor achievments in the free software community. The work feels like it needed one more rewrite before being released to the public: some related sources Raymond hadn't yet read at the time of writing, and some of his advice gets repetitive. The exposition itself is not up to par with The Elements of Programming Style. Raymond tries to give a list of programming rules or principles to follow, but it reads more like a list of slogans that should be taken as axioms. While The Elements of Programming Style itself had a list of rules, the rules were well woven with each other, well defended, and they were used as a means of conveying a larger story. In Raymond's case, he relies upon the slogans in absence of such a story. Thus, the book ends up more like a list of random unrelated tips. Some very profound, like his writings on threads (which he acknowleges Mark M. Miller for his...
The authorised South African distributor of this product is under no obligation to honour the manufacture's guarantees/warranties or to provide after-sales service.
Please note that this item is imported from the USA, and is designed to be used in the USA. In addition, if the unit is powered it will come with a US plug and an adapter/transformer may be required. Please click here for more information on power requirements, or check with us if you are unsure or need any assistance!
Please also note that certain items cannot be imported, these include Alcohol, Animals, Batteries, Flammable Materials, Currency, Food, Furs, Chemicals, Explosives, Medications, Plants, Seeds, Supplements, Pressurized Cans, Tactical Equipment, Vitamins, Weaponry and Weaponry Accessories. In these cases, the item and information is displayed for reference purposes only. If you are not sure if we are permitted to bring an item, please send us an e-mail with a link to the item to confirm.
Please also ensure that you are ordering the correct item for your particular application as returns to the USA are costly. Product reviews are also provided for most of our items, which can give you a good idea for possible things to look out for and the quality of the item. By clicking Add to Cart, you are confirming that the item is correct and you accept the conditions listed here.