Technical Reading

Over past few months I have been reading a number of technical books on programming. Here are three that are real good, in no particular order:

  • Effective Java by Joshua Bloch. This is a nice reference book, in which the author covers some useful patterns and heuristics  for writing Java code. You don’t necessarily need to read this book cover to cover. you can read the interesting chapters – as they as mostly self contained.
  • Dependency Injection by Dhanji R. Prasanna. Dependency injection is one of those simple ideas (originally called “Inversion of Control” by Martin Fowler) on how within a running program object are constructed.  The idea is not to have to build dependencies by hand coding them, but by having them constructed  automatically.  This idea turns out to be surprisingly powerful and this book explores how dependency injection can be used. Maybe the best thing about the book is that it contains tons of examples using Guice and the Spring Framework.
  • GWT In Action  by Robert Hanson and Adam Tacy. This book covers the details of the Google Web Toolkit (GWT). This toolkit allows the programmer to write code in Java, but then it compiles the code that will run in the browser to Javascript. I liked this book because it contains a lot of examples that you can work through. Learning by doing works better for me.

Funny aside – I wrote a review of a book on the Spring Framework long time ago. Turned out that particular book was not that good.

>Non-fiction: “Everything and More”

I learned about this book, by David Forster Wallace, from reading essays in the Neal Stephenson book. The description sounded very interesting – a history of the concept of “infinity” (a favorite topic of mine). Plus, David Foster Wallace was a famous writer, deeply admired by many, and I have never read any of his books.

As expected, the book started with the discussion of Zeno’s Paradox. These paradoxes deal with the infinitely small – since Zeno ask how can an arrow move anywhere, since it first have to go half way, and to get to half way point  it has to get to one quarter way point and so on. So it’s path becomes an infinite sum of infinitely small distances.

The other kind of infinity is the large one. The discussion of this one eventually lead to the work of Georg Cantor on transfinite numbers.

Although the topic of the book is fascinating, and the author clearly mastered the subject, the style of the writing got in the way. So much so I gave up after about 100 pages. What I found most annoying was when David Foster Wallace made up his own abbreviations for random terms and used these throughout the text. In fact early on he a had a two page glossary of these and you needed to refer to them constantly.

But he did not stick to this initial list. He kept creating more abbreviations as he went along. After while this became too distracting to read. I gave up when I came to a section where he referred to Galileo Galilei as “GG”.