Hacker News new | comments | show | ask | jobs | submit login
The Art of Unix Programming (2008) (catb.org)
103 points by fizwhiz on May 25, 2014 | hide | past | web | favorite | 19 comments

Someone please add [2008] to the title. I was excited when I saw this and thought maybe Eric was updating it.

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'll confess that I have only recently just heard about this book and I recently bought it after reading it for free online because of how much I liked it. Honestly, I wish this had been a required textbook in my com sci classes.

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.

" Senior engineers develop huge bodies of implicit knowledge, which they pass to their juniors by (as Zen Buddhists put it) “a special transmission, outside the scriptures”."

Really? I think its silly to make pretentious quotes from Zen Buddhists( apparently). The whole book is filled with pretentious quotes from usenet groups.

Are you discounting the manner, or the substance here?

It's one thing to nitpick about style, but there's nothing wrong with the assertion.

I disagree. I think a sprinkling of pretentious quotes from Zen Buddhists, USENET groups etc. can help liven up what would otherwise be a dry topic.

The Internet Archive has some alternate formats available like PDF and ePub:


Why are people saying [2008] when the copyright says 2003, and the last revision was in September 2003?

If you think that fetchmail is the best program ever written and DK's knowledge and intellect is at the same level as ESR then you deserve this book.

OK, so you don't think much of ESR. Any alternative recommendations in the same topic area?

Kernighan and Pike, The UNIX Programming Environment.

(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.)

Who is DK?

Very likely, Donald Knuth. ESR's title is suggestive of Knuth's http://en.wikipedia.org/wiki/The_Art_of_Computer_Programming.

Should be DEK, not DK.

This is Eric S. Raymond at his absolute best. Pretty much everyone who reads HN needs to read and familiarise themselves with this book.

I appreciate the transparency of the author including links to negative reviews on the page. Kudos for that.

Magnificent book, but why now?

Human generation update? :-) A lot of IT professional people I know here have never heard about the book.

Spot on, this is exactly why I posted it. I'm a relatively new programmer (~2 yrs into a corp gig), and for me to really grasp things at an intuitive level it always helps me understand the context in which they are conceived. This was an exceptional read to tie in the big picture so that I can further my knowledge with a deeper understanding of "why" things are the way they are.

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.

Maybe put the date in the title (2008)

Guidelines | FAQ | Support | API | Security | Lists | Bookmarklet | Legal | Apply to YC | Contact