Technical Books I Own
Programming Pearls, Second Edition
Only a little way into this. I would read it faster, but there are *so* many programming exercises to stop and puzzle out first.
Concrete Mathematics: A Foundation for Computer Science
Purely Functional Data Structures
This wasn't quite what I thought it would be. I was expecting to be led through a discussion of new data structures that really only apply to functional programming. Instead, it shows mostly well-known data structures (lists, trees, etc.) and talks about the performance differences between functional and imperative programming.
Haskell: The Craft of Functional Programming
Yuck! What a horrible book. Maybe, if you have never touched a computer in your life, you could start with this book. But, even then, I think you would throw it out the window after the first chapter. The author takes 10 pages to say what, well, really doesn't need to be said. For instance, what is a function? Does the author really need 10 pages to describe what a function is? It takes about two sentences to describe what a function is. However, this author stretches it over 10 pages of dumbed-down analogies and fluff. Can you imagine how confused a reader can become after reading through 10 pages? I have been doing software development for 30 years and *I* was getting confused by this guy. Not because functions are hard (they aren't), but because he is a horrible writer.
Learn You a Haskell for Great Good!
This is the book to read if you want to learn Haskell. Get this book.
Effective C++, Third Edition
Over the years I have read this book cover-to-cover probably 4 times. And, I'm reading it again. It really is a good book. Get it. Read it. Learn it. Read it again every few years.
The Algorithm Design Manual
Introduction to Algorithms, Third Edition