I love this book. I bring it with me everywhere. Still it lacks a few things, for instance the compression algorithms are not cover well enough, and IMHO not including skip lists is a too big mistake as most of the times skip lists are as good as balanced trees but with a smaller memory footprint and simpler implementations.
Also bloom filters are not covered. There are too little real world hints. For instance things like collisions resolutions algorithms in the real world (with real CPUs): is chaining better than double hashing? And so forth.
I have read the changes in the available Preface PDF ([1]), and wondered about the authors using MacDraw Pro for creating illustrations. What does HN use?
I used to create drawings using Visual Thought. Now for my technical TeX-documents I use InkScape. I would very well like to know if there are better tools out there...
thanks for sharing. Those jokes also seem to apply to some of the homework problems encountered in the 2nd edition. I had no clue that Professor Bunyan was a reference to Paul Bunyan (http://en.wikipedia.org/wiki/Paul_Bunyan).
Today seems like the "3rd Edition of a computing classic" day: someone please post a link to new Essentials of Programming Languages, in its 3rd Edition :-)
It's a great reference book, but I don't think it's a good text book. I had a lot of trouble trying to treat it as one and learn anything truly new from it -- for that, I turned to the book by Dasgupta et al and found it much more helpful.
Also bloom filters are not covered. There are too little real world hints. For instance things like collisions resolutions algorithms in the real world (with real CPUs): is chaining better than double hashing? And so forth.