The anecdotes in the first few mins are nice as well.
The anecdotes in the first few mins are nice as well.
I'll blog about it one day (I know it's been five years I've been saying that but hey) but... Sussman invited me for tea in his office so I ran to the MIT co-op but couldn't find SICP there so I told the person there I really needed that book for I'd see Sussman the next day: he called the Harvard co-op and they told me they had one copy in stock. So I uber'ed to the Harvard bookstore and bought SICP.
Next day I went to Sussman's office at the MIT and when I arrived Abelson was there, by chance (he was leaving) so they both dedicated me my copy of SICP. And Sussman added "had you been there 15 minutes earlier my wife would have signed it too!".
I had no idea his wife was the proofreader for SICP.
Fun story. Probably rambling by now but all this really happened. I've got a cool picture of these two wizards and me holding the purple book they just signed!
A novice travelled to the East to learn at the feet of Sussman. As Sussman lectured on writing device drivers with low-level Lisp code, the novice interrupted: "But Master, is Lisp not a high-level language?" To which Sussman replied: "There was once a fisherman who spotted an eagle on the shore. 'Brother Eagle,' said the fisherman, 'how impossibly distant is the sky!' The eagle said nothing, and flew off." With that, the novice was enlightened.
It's fictional, but it's based on a real-life Sussman encounter I had. A hacker (it may have been Dimitris Vyzovitis) was telling me about things he'd done in "low-level languages like C and Lisp". Then I said "But Lisp is high-level!" at which point the hacker paused and said "Let me get Jerry." "Jerry" turned out to be Gerald Sussman, who explained to me, in the most nerdy-enthusiastic Sussman-like way, that Lisp was the low-level language of a virtual machine which he had actually implemented in hardware[0]. And it was profoundly enlightening.
[0] See Steele, G.L. and Sussman, G.J., AI Memo 514, "Design of LISP-based Processors, or SCHEME: A Dielectric LISP, or Finite Memories Considered Harmful, or LAMBDA: The Ultimate Opcode", https://dspace.mit.edu/handle/1721.1/5731
My current favourite is https://www2.cs.sfu.ca/CourseCentral/383/havens/pubs/lambda-...
Debunking the "Expensive Procedure Call Myth or, Procedure Call Implementations Considered Harmful or, LAMBDA: The Ultimate GOTO
But I see some recent authors have gotten into the game, so it could be one of them updates that slot.
Lambda the Ultimate Imperative ... the Ultimate Declarative ... The Ultimate GOTO ... The Ultimate Op Code
IMHO SICP feels "timeless" somewhat because of that.
Utilitarian programming is like utilitarian food. Programming should be seen as an act of worship to the god of simplicity. If the artificial world intrudes and makes the program complicated, this is what leads to suffering. Ultimately it is the world which should be changed.