If I were to run a hacker book club, I would screen out anyone who
codes, especially for a living. I'd also not be too keen on anyone
who was big on numbers, since the goal would be to catch Liberal Arts
types and high school kids and so forth. I always imagine advertising
this in the classifieds or something.
Here's the reading list I'd use:
Hackers
Start out with Hackers. It's a great read, and every
hacker I know who read it as a child envied the people described in
it. It's an inspiring story, and really gets across the notion of
hacking, as opposed to mere development, or even
work.
It covers the old guard of MIT, and lists many names that come up
in anyone's study of LISP. It puts LISP into a historical context,
which is useful.
Modern editions even end up with RMS, which can lead into...
Free as in Freedom
It's the natural sequel to Hackers, and it covers a lot more of the
philosophical angles. It helps put Free Software into historical perspective
as well, and provides a context for EMACS the way Hackers does for LISP.
It's possible to skip this book, and cover Free Software in other
ways, or to merely put this book on the list of subsequent reading the
members might want to do on their own time.
Once the history and ethical questions are out of the way, move on to
some more technical topics.
The Pattern on the Stone
Hillis makes a great explanation of the core principles of computer
hardware and logical design. It's perhaps a GEB-lite,
and references Hofstadter in one of the chapters. It's quite
possibly the best introduction of the actual technology of
computation for the lay reader.
It's a super-slim book, and can be covered in its entirety in a single
session.
He talks about everything in terms of functional decomposition, which
lets us lead into an application of functional decomposition: LISP
itself.
The Little Schemer
This book above all others is why I love scheme. It's like a
catechism for lisp programmers, or a dialogue between master and
novice. It's Socratean intellectual midwifery -- 200 pages of leading
questions and answers forcing you to work out the process of
computation in your head or on paper.
It's quite possibly the best way to learn computer programming, and it
requires absolutely no computers whatsoever to do so. It doesn't even
mention particular operating environments, or teach you how to run the
expressions on any sort of machine. It instead teaches you how to
think about computation in a way that hack C and Perl programmers
never get.
It's designed for people who are perhaps a touch innumerate, or can't
get their multiplication tables down, or panic at long division. It
assumes only basic arithmetic or algebraic skills, and even then only
for a chapter. The whole book is structured around the manipulation
of lists of names of food items (though many will note that the book
is decidedly not vegetarian, lumping "turkey" in with "peanut butter
and jelly", it never advises the reader to eat any meat).
This book would be covered less like a book club reading group, and
more like a recitation session or laboratory. It'd be good to have a
blackboard at this point, to illustrate and discuss each step of the
question-answer cycle. I bet you I could teach even my dad to
understand Y. It's all just linguistics.
Gödel, Escher, Bach
I simply cannot describe this book. It's a book about thought, and it
covers the topic with music, biology, psychology, and logic. It
covers art and computing and linguistics and everything. I have no
idea how one would cover a book like this in a book club, but you
can't help but have long involved discussions after reading it.
Everyone I know who has read this book has been able to use it
practically in their respective everyday lives. I pity the other
Pulitzer candidates the year this book was was published, because it
was an obvious shoo-in.
It's also long, and dense in parts (most notably when Hofstadter
brings his boring graduate work in some sort of fractals into the
tale, but do not give up!), but well worth it. The very
structure of the book tells a tale, in the end, and context becomes
message becomes medium again.
It's an endlessly rising canon!