Jon Bentley's Programming Pearls: 25 years old, still brilliant
reprog.wordpress.com
reprog.wordpress.com
I can't help but think that reason is the author is incredibly preoccupied with food.
They anchor his previous blog posts in my mind. When I stumble upon a new reprog article on HN, I remember his previous articles ("oh, this is the sushi blog!").
Plus, I love sushi.
This is one of my favorite programming quotes. I haven't seen it used much over the years.
All right, enough of rants. Here is my take on this book. This is one of my favorite books. Great things like this book, in the same way as Unix, C and other oldies, can last for a really long time. One thing of the book that intrigued me was the way those old great hackers managed to conquer seemingly impossible problems, despite the severe constraints such as limited memory space, in a extremely resourceful manner. The bit sort in chapter one and the chapter how Ken Thompson squeezed storage space for his chess program are two of my favorite read. The other thing I think may be even more useful is the back of the envelope estimation, which encourages out of the box thinking or street smart (though those kinds of questions got abused and became notorious in technical interviews).
Constraints still exist as we begin to attack harder and bigger problems, such as "web-scale" applications. New metrics for the back of the envelope estimation came into beings such as network latency, database queries. I really hope someone of our times can come up with a similar book in the same spirit, but addressing the issues we face nowadays.
It might require a subscription, though.
It seems to contain the articles from the book, starting with those from 1983.
This excerpt is from his most recent article on acm, "In the realm of insight and creativity".
There's a real sense of history too, some of the problems illustrate how far we've come: like talking about transferring a whole megabyte several miles as a challenge.
Forward 10 years, I have a copy in my bookshelf and read a chapter every now and then just to keep myself real. I've completely (and happily) forgotten everything about Perl though.