Atlas · Details
Ten Challenges
AI Notes
The deliberate sequel to Ten Great Books two months earlier. That list was the comfortable one — books finished, cleanly recommended. This one is harder and more honest: ten books Steve is in the middle of, mostly because finishing them is a multi-year project. Gödel, Escher, Bach sits at #1 with the warning that nearly nobody finishes it; SICP at #2 with the confession that the condescending tone almost made him quit before he realised what he had in his hands. Knuth's Digital Typography is the unexpected pick (a book about typography typeset in the program it documents). The compiler/language stack — Scott's Programming Language Pragmatics, Friedman/Wand/Haynes, Pierce on types, the two Scheme books — collectively form the curriculum Steve thinks the field skipped. The closing turn is Okasaki's Purely Functional Data Structures, on the list because of why Steve and his colleague JG keep coming back to it — they've been running a private research program at Amazon for a year on how to escape the J2EE/C++ swamp, and the literature keeps pointing the same direction. A higher-level language abstraction backed by functional-programming machinery, on top of the network as a single programmable substrate.
January 2005, with Erlang's revival, Scala, Clojure, and the whole map/reduce/actor wave still several years out. Steve is reading the road signs and the essay closes on that note: books as a survival kit for a distributed-computing world that hasn't arrived yet.
Related listings
-
2004
Ten Great Books
The two-month-earlier companion. Ten Great Books is the list of books Steve finished and revisits; Ten Challenges is the much more revealing list of the ones he hasn't, and why he keeps going back.
-
2005
Math Every Day
Same self-improvement habit, different deficit. The mathematical reading habit Steve announces in Math Every Day is what eventually lets him make headway on Hofstadter and Pierce in this list.
-
2005
Transformation
Same shape of argument applied to a single book — going back to actually read Fowler's Refactoring rather than skimming it. Ten Challenges is the same habit, scaled to ten.
From the peanut gallery
Read the rest of the thread · 2 more
-
Cool — thanks for pointing out "Purely Functional Data Structures" in particular.
Have you looked at Concepts, Techniques, and Models of Computer Programming by Peter Van Roy, Seif Haridi?
This is next on my personal list, due to the strong recommendations at
http://c2.com/cgi/wiki?ConceptsTechniquesAndModelsOfComputerProgramming
-
I also read GEB all the way through, back in my undergraduate days. I have it on my shelf to reread, but it joins a stack of other books, so it will probably be some little while yet before I get around to rereading it.
I bought and read GEB when I first moved up here and started at Amazon. I read it all the way through, too. That's what being in an apartment by yourself, with no TV or Internet access will do to you...
— Jon M · January 26, 2005 01:00 AM