Books are a recurring theme in my software development life, primarily because I’m awful at teaching myself anything from first principles, and because I do most of my learning in isolation. I usually need a helping hand, and a good book can provide that. Here are some of my books that I have yet to mention but that I find compelling for one reason or another.

  • The first is actually a series: the Handbook of Programming Languages. I don’t recommend buying the set at Amazon prices, but I’ve managed to pick up most of the series at used book stores for a few dollars here and there. I find it a fascinating (albeit gap-laden) survey of the wild and wooly world of languages.
  • The Pragmatic Programmer: From Journeyman to Master is the book that launched The Pragmatic Programmers, whose books challenge O’Reilly for the title of most interesting and relevant for programmers today. I’ve long sampled books from both companies and found them generally quite tasty.
  • JavaSpaces Principles, Patterns and Practice is an oddball for me. I don’t know that the book itself is particularly compelling, but the concepts behind JavaSpaces tantalize me. I often find myself contemplating communications problems and wondering how tuple spaces might be used to tackle them.
  • Object-Oriented Methods: Principles & Practice is a text I used while studying computer science, and while I can’t claim to have read it all, I someday might actually finish skimming most of it. Maybe.
  • SQL and Relational Theory: How to Write Accurate SQL Code is a non-animal O’Reilly book. I’ve long heard rumors of dark places on the Internet where relational database mavens argue that SQL is not truly a relational programming language, and this book is written by one of them. I haven’t gotten far in it, but it’s a pleasure to read a long, thorough book that isn’t just a recitation of facts with lots of pictures and source code samples, which all too many computer books of a certain size tend to be. If you believe that understanding the concepts in depth makes for a better programmer, this book is for you.