Hacker News new | past | comments | ask | show | jobs | submit login

Gerald Sussman, co-inventor of Scheme and author of SICP, was my undergraduate advisor. The last several times I visited his office, he was usually with Jack Wisdom either programming or deep in thought or discussion about differential geometry and the differential geometry Scheme library they were writing. One time when he wasn't so occupied, I brought up SICP, and asked if he was aware that a lot of people think of reading the book as a sort of magical, enlightening experience. He said, "Yes, I'm aware." I asked if he had any idea why. He said, "The main reason is that it tells a good story. It also has a complete, coherent narrative."



Am I the only person that read the whole of sicp and didn't feel enlightened in the least? I felt way more enlightened when I read the whole of John Baez's this week's finds. Maybe it's a book which you need to read when you're younger.


Curious: did you complete all the exercises in the book? Not doubting you in any way, just wondering if that’s a possibility. I know I’ve gone through books without doing the work, while on others I have done the work — and it’s usually a pretty different experience.

But, not everyone is gonna connect with everything, regardless.


I think the impact it has depends on what you're doing at the time, what languages you've seen. For me, I'd done lots of assembly, C, Pascal, and Basic, so it was super fun. 20 years later I re-read parts and remembered the excitement, but, in the intervening years, had used Ruby and Python, and noticed Scheme/Lisp ideas had been imitated more widely, and it felt, in that 2013 context, less invigorating to reread SICP.


It probably depends on if you already have tried all the stuff in the book. I was not young when I read it and I did find it quite enlightening, but I had never tried implementing an interpreter or a logic language before.


I love John Baez's writing but have not read any set of his posts as a whole. Are there threads that develop through time and build on one another?

I wouldn't say that I felt enlightened by SICP, but I was and still am excited about what it covers. A couple aspects of it that excite me, recursion and homoiconicity, the property of a programming language whose programs look like a data structure in the language, are, in my mind, related to many other topics that I had encountered before SICP such as (in no particular order): paradoxes such as chicken and egg problem, self-replication, feedback mechanisms, quines, fractals, philosophic inquiry into ontology and consciousness, the anthropic principle, Russel's paradox, Gödel's incompleteness theorems, the halting problem and Universal Turing machines, and the list goes on. I initially included Douglas Hofstadter's strange loop in the list, but I think he would say that all of these are tied together by the concept of strange loops.

For awhile, I was disappointed with Sussman's answer to why people feel enlightened by SICP. I think I was hoping that he'd fill me in on the secret or give me some clues. I felt like I /almost/ knew why people felt enlightened by it, but couldn't quite put my finger on it. I think what I was really hoping for was an explanation of why SICP and all of these related topics are so exciting to me or that he'd share similar awe or experience and add another piece to the puzzle. Currently, I find a lot of meaning in his statement, "it tells a good story", whether it's the meaning he intended to express or not. The topics excite me because I find relations between them. Finding relations between them is a story that I have created, and it's exciting because the story is far-reaching, and I don't know what character might join the web of relations next...it could seemingly be anything! I think many people feel empowered and enlightened by SICP as a stand-alone entity because the meta-circular evaluator pulls back the curtain on some of the magic behind programming and computing. The exercises show how computers can touch a wide range of topics and can both be molded to how a mind sees fit be and mold the mind in return. Instead of being given a labyrinth of a language created by someone else to learn in an intro to programming course and having to spend a lot of time learning all the syntax, types, tools, etc, Sussman uses a very simple Scheme and shows how to create from scratch a plethora of things encountered in other languages that are useful across many domains in a very flexible way. After accomplishing so much, the reader even creates the magical thing they were given in the beginning, eval. In our world of computing, doing that without much difficulty is empowering and enlightening.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: