Am I the only one who found GEB to be a light read? There are many books on computer science, math, and philosophy which I have to think hard and spend a great deal of time to absorb, but GEB was most definitely not one of them. I know Steve Yegge is probably smarter than me, and it baffles me to hear him describe how it is too rich and dense for him to finish. I found it fairly playful and easy to get through, and hard to put down until I was done.
and it baffles me to hear him describe how it is too rich and dense for him to finish
I'm not saying that this is your case, but usually when this happens it is because the other person is looking at things that you are not.
Reminds me of a time when I heard Robert Sapolsky saying that he did not handle his own stress in a good way. I'm pretty sure he handles it better than me and most people, but he has the knowledge that he is just scratching the surface.
Looks also like that quote from Socrates 'I am the wisest man alive, for I know one thing, and that is that I know nothing.'
I read it when I was fairly young; I know I didn't fully grasp many of the concepts in the book, but it didn't feel "difficult". GEB's strength is also its weakness--it's engaging and inspiring, showing evocative connections between all manner of concepts that are themselves intricate and fascinating, in a manner that gives even a reader with little knowledge of the subjects a glimpse of the underlying abstract beauty. It's little wonder that many people cite it as having been a major influence on choosing to study some topic it touches on (particularly AI).
But now, returning a decade hence, equipped with a deeper understanding of the material--particularly with the many faces of the self-reference paradox (which amusingly includes fixed-point combinators such as Y) that so deeply fascinates Hofstadter--a lot of GEB comes across as somewhat superficial and self-absorbed. Yet had I not read it, I doubt I would have ever explored the topics in the first place, so in a way the book itself has indirectly ruined my ability to enjoy it, an almost Hofstadter-esque twist of fate!
In the end, GEB is a beautiful but fundamentally shallow book that ties together a lot of very deep concepts--so perhaps I can understand that, if one takes it at face value, it might seem intimidating. Taken as the intellectual candy that it is, though, it's a delightful bit of light reading (so long as the material is mostly new to you).
No, it may not be a dense read. But this is exactly what made it hard to finish (for me). Meandering anecdotes and self-indulgent tangents bore me. I've read a couple of Hoftstader's books and I think he could really benefit from an editor with a bit of backbone.
No, you're not the only one. I, and at least three people I know, all found it to be an entertaining and fairly straight-forward read. Certainly not unfinishable.
I'd be interested to know what it is that people find makes them stop.
I found it light, and boring because of how light it was. I had studied Gödel's theorems, etc., so I really could not take the pace for explaining the logic stuff (most of the book) in GEB.
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.
It may have been that I just read it at the wrong time in my life, but I found parts of it really tedious. I can imagine it would've been more enlightening if I'd read it earlier in my life, as opposed to trying to read it after I already had a CS degree and was in grad school studying AI...
Really for most programmers it is a list of 10 books I want to have on my bookshelf so I look important when someone comes over. A list of ten programing books programmers wish they read.
Much more useful is the list of "... ten books that I really enjoyed, and that I'd recommend to anyone who's a computer programmer, regardless of their preferred language and platform."
"Challenges" is kind of subjective. GEB is really a bit fluffy (as I said in another comment here), and SICP is only challenging if you've never seen a functional language before. PLP is also not particularly challenging as such, but it is a satisfyingly informative treatment of the practicalities involved in implementing a conventional programming language from the ground up.
On the other hand, while I've not read all of Types and Programming Languages, it definitely starts to get into some challenging (and very interesting!) material.
Types and Programming Languages was one of the books used for my (undergrad) programming languages course. This article made me feel much less guilty about not actually understanding most of the small amount that we did end up actually reading.