The Art of Unix Programming (2008)
catb.org
catb.org
In general of course this is a great book to read, I have a hard copy (gasp) on my shelf and when it came out I had been working on Unix systems for 20 years. There are lots of good nuggets in there. It is a good read for people who would like to better understand the philosophy of Unix. That said if I recall correctly it was a bit cult like in nature and like most things should be taken with a grain of salt. Remember the historical context of when the book was written, it was very much a war like time when many Unix heads where certain we could "win" the OS wars. Much like the "Drug Wars" now I think a bit of reality has set in and we realize things are not always that black and white.
It would be awesome to see a body of work like this updated with today’s evolution of the Unix philosophy. When I look back I think I’m so lucky to be in technology today, what used to take me months and years I can do today in days and weeks. We have so much foundation now, technology is more about Legos™ versus bags of Concrete. When I started in technology almost everything had to be built from scratch, often starting with little more then a simple computer language, some cpu, ram and maybe a disk if you where lucky. That made things so incredibly hard when you wanted to do anything of real value. Today it would be impossible to design the chips we use without the chips we built last generation and the software that leverages that power to help the people design the next generation of chips. We live in a world that builds on top of many generations of technology and the amplification effect is amazing to see first hand.
Great book, read it, enjoy it and then read Eric’s other book (of many): The Cathedral & the Bazaar: Musings on Linux and Open Source by an Accidental Revolutionary
I've only recently started to force myself to stay in the bash prompt...whenever I saw my coworkers type out scripts in this mode, I had roughly the same reaction as I did when seeing my mom's printouts of COBOL code: look at those old people with their old tricks.
The Art of Unix Programming, and the too few books similar to it, have been profoundly helpful in helping me understand that UNIX is a steadfast way of doing things...and even if much of the code and utilities are decades old, concepts like "Programs should do one thing well" and "Separate policy from mechanism; separate interfaces from engines" are in, retrospect, part of contemporary object-oriented thought...but there's something significantly more tangible to how they're implemented in UNIX.
Of course, it's more than just a happy coincidence that UNIX tools are decades old and are yet still some of the best tools for the job...you can't ignore that the "UNIX Way" has something to do with that longevity. But given the practical usefulness of UNIX tools, combined with their educational value...I wish UNIX shell work was a core component of my college classes. Unfortunately, we immediately started working in Visual C++ and Eclipse...both of which are nice...but if you never use them again as a professional, the work of learning to navigate them was wasted...whereas the few things I learned in UNIX will seem to be around for a very long time.
Really? I think its silly to make pretentious quotes from Zen Buddhists( apparently). The whole book is filled with pretentious quotes from usenet groups.
It's one thing to nitpick about style, but there's nothing wrong with the assertion.
https://archive.org/details/ost-computer-science-the_art_of_...
(I consider ESR's book worthwhile too, and it's less outdated. But K&P is the purest expression I've seen of how to Unix.)
As an aside, my mind was blown that much of this was directly inspired by the Multics project. It's really interesting that despite so many decades of apparent advances between the early 60s and today, much of what the modern OSs have are really the same.