views:

230

answers:

3

I've seen these books mentioned elsewhere on SO, but no detailed discussion. To better position my question...

I own and frequently return to Advanced Programming in the UNIX Environment, now in it's second edition. It's a huge book, and for the material it covers, I've found it to be just great. I like the discussion of cross-platform variations versus common ground, the detailed api documentation, and the discursive examples. My biggest complaint, somewhat addressed in the second edition, is that the index is a shotgun affair, covering terms in a 'grep-like' fashion.

While I truly appreciate APUE, I haven't seen enough discussion of Unix Network Programming to be able to decide if it's worth a two-volume purchase. After all, APUE covers much of the information noted in the table of contents of UNP. Still, UNP is two volumes, so it has to cover the material in greater depth. Is it worth it?

+3  A: 

I think the Amazon reviews are spot on, and having owned and read a previous edition of the book I find Stevens writing and examples to be clear, practical, and to the point. It is a bit dry, but if your goal is to understand socket level programming you can't really go wrong with the Stevens book.

grieve
It is the de facto standard
cciotti
+3  A: 

UNP is the sort of book that is incredibly useful to break out when you have a task that's suited to it. For example, I recently had to write a custom dhcp server, and UNP was incredibly helpful.

That being said, I sometimes find that just getting the source code of examples from the book is good enough, and I don't even walk over to the shelf to take the book down.

bmdhacks
Yeah, I do that with APUE too!
Don Wakefield
+1  A: 

My major in college was Computer Science and my specialty was networking. Of all the books I read in college, UNP was the far and beyond most informative book of the bunch. Sadly it was not even a part of the course load.

It is an amazing blend of pedantic detail and technique. I recomend it to people doing any sort of socket based programming (even managed code). It provides so much foundational information thot you can apply to future networking projects.

I'm looking at my copy right now. It's a bit worn from the use.

In short, yes definately worth it.

JaredPar