By the way, I would recommend any programmer interested in physics "The Road to Reality" by Penrose. I think that's a very challenging book, that can be interesting for programmers, even if it's not about programming. Compared to that kind of material, GEB is very, very light.