Log in

No account? Create an account

I got two computer books today - Journal of Omnifarious

Aug. 10th, 2005

08:15 pm - I got two computer books today

Previous Entry Share Next Entry

I got two computer books today:

  1. C++ Template Metaprogramming
  2. Advanced Programming in the UNIX Environment (second edition)

The first is everything I expected, and it's a really excellent book. It's one of those books that either leave people shaking their heads, wondering why on earth anybody in their right mind would even think of using C++, or gets people exclaiming "Wow, that's really neat!". I tend to largely fall into the latter camp, and the lack of any real metaprogramming ability is one reason I don't really like Java much.

The second is a big disappointment. It doesn't cover SIGRT signals. It doesn't cover epoll. It doesn't cover BSD kernel queues. Since these are the new ideas I know a bunch about in Unix, it makes me wonder if they've covered any other recent ideas. I'm going to bring it back, as it isn't enough of an update on the original to be worth it.

In fact, while the book largely seems to feel that there are only three important versions of Unix (Linux, BSD, and Solaris), a view I think is largely correct, much of the original Stevens text hasn't been updated to reflect that fact, and still talks about SVR4 as if it were a going concern. This indicates (to me) a profound lack of care in updating the text, and makes me question its continued accuracy.

When you read a Stevens book, you knew it would be accurate, because you knew that he actually tested everything. You knew this because he basically wrote down his tests and what the results were in an easily digested format. Since Unix is more a cultural tradition than a spec, and much of it is oral history, some amount of reverse engineering is necessary to figure out exactly how things work. Stevens work in this regard was invaluable, and the recent edition does not give me the same level of confidence.

Edit 2005-08-12 16:50: OK, I've thought about it and read more, and I take back what I said about the new edition of the Stevens book. It's actually a pretty good book and it does a pretty good job of updating the original text. I'm still really disappointed to see no mention of epoll, kernel queues or RTSIGs in there though. But, perhaps we'll have to wait until one of those makes it into the POSIX spec before we can expect it to show up in that book.

Current Mood: [mood icon] contemplative