Live data from Hacker News

Structure and Interpretation of Computer Programs (1996) [pdf]

opendocs.github.io

41–50 of 151 posts

Re: Structure and Interpretation of Computer Programs (1996) [pdf]

#41

Anyone else feel like this book is really overrated? I've enjoyed the classical mechanics book by the same authors a lot more since it goes over a particularly good application where functional ideas shine

Yes. 61A at Berkeley was nominally based on SICP. Berkeley has since abandoned the book and the class is now taught in Python. MIT 6.01 has abandoned the book as well and recreated the course using Python as well. Scheme was wonderfully elegant but then we never used it again which was annoying. If the choice is between Scheme knowing I'd never use it again and Python then I'd take Python. We never had any readings f…

Sussman is still teaching SICP through his Adventures in Advanced Symbolic Programming [1].

The Python course happened clearly due to politics and popular appeal. Sussman expressed his disappointment about it multiple times. Abelson did the same in the interview that's linked in this thread.

It is sad but a good example of how far the academic institution has fallen in this century. Ultimately it is the students that really lose out.

[1] https://groups.csail.mit.edu/mac/users/gjs/6.945/

Re: Structure and Interpretation of Computer Programs (1996) [pdf]

#42
I read the book a while ago, It was quite an eye opener. The one thing I haven't been able to go through was the last chapter, building a "metacircular evaluator. I saved it for a time when I understood compilers/interpreters better.

Diving into codebases, like the octave and supercollider interpreters recently. might be quite interesting to re-read it.

Re: Structure and Interpretation of Computer Programs (1996) [pdf]

#45

Anyone else feel like this book is really overrated? I've enjoyed the classical mechanics book by the same authors a lot more since it goes over a particularly good application where functional ideas shine

I totally respect and even admire dissenting opinions, but, on the contrary, this book is magic for me. For me, it connects programming to larger and vital human endeavor. K&R does that for me too, so maybe it's a me thing.

That's an interesting comparison. K&R did nothing for me, I honestly did not understand C until I read Harbison & Steele.

Re: Structure and Interpretation of Computer Programs (1996) [pdf]

#46

I read the book a while ago, It was quite an eye opener. The one thing I haven't been able to go through was the last chapter, building a "metacircular evaluator. I saved it for a time when I understood compilers/interpreters better. Diving into codebases, like the octave and supercollider interpreters recently. might be quite interesting to re-read it.

My experience of the last chapter is: it's not as satisfying or as easy as the previous chapters where the solutions to exercises are self-contained. It's also less suited to doing outside of school, if you only have nights and weekends and must re-establish the context every time you sit down again with the book. However, it is still worthwhile, and definitely doesn't require any previous compiler/interpreter exposure (in fact, it might be an advantage to come in fresh, as a lot of what you do in chapter 5 is really easier than you might think if you have exposure to advanced compiler techniques).

Re: Structure and Interpretation of Computer Programs (1996) [pdf]

#47
We read SICP back in college. I loved it but I remember a lot of moaning from my classmates. I wish I had more practical need for Lisp because I loved programming in it.

My favorite part of SICP is where a streaming lazy evaluated version of sin() is defined using cos() which is defined using sin().

Re: Structure and Interpretation of Computer Programs (1996) [pdf]

#48

I took a one-week SICP course with 5 or 6 other professional programmers last year. It was amazing. I wrote about my personal motivation for doing so here: https://amontalenti.com/2018/08/26/sicp-expanding As for an update: SICP was as good as I expected and definitely makes a professional programmer regain some love for the art and magic of computer science. (However, the book is a hard read without a guide. But it'…

Does it make sense to use Clojure while reading the book?

I actually knew Clojure going into the course and it helped make Scheme easier to pick up, but I think to make the code exercises more straightforward, it's better to use Racket and #lang sicp as someone suggested.

Re: Structure and Interpretation of Computer Programs (1996) [pdf]

#49

I took a one-week SICP course with 5 or 6 other professional programmers last year. It was amazing. I wrote about my personal motivation for doing so here: https://amontalenti.com/2018/08/26/sicp-expanding As for an update: SICP was as good as I expected and definitely makes a professional programmer regain some love for the art and magic of computer science. (However, the book is a hard read without a guide. But it'…

Does it make sense to use Clojure while reading the book?

Yes and no. Maybe use http://www.sicpdistilled.com/ as a guide.

Re: Structure and Interpretation of Computer Programs (1996) [pdf]

#50
post #20

The contents of the book are wonderful, but I can't stop admiring the TeX typesetting itself. It's startling how effortless it is to read this document compared to 99% of Web-based reading I do every day. The things that stand out to me most are the lack of vertical whitespace "rivers" due to the smart kerning & tracking, the small-caps for technical initialisms like 'HTML', and the beautiful beautiful Garamond of th…

I agree with the spirit of this comment: good typesetting is a delight, and TeX is the best tool I've seen for achieving it. We are lucky that its author made the result of his researches freely available, and that a community has kept it alive. I'll just point out that simply using LaTeX does not automatically guarantee great typesetting (you have to know what you want) though it does provide a baseline of decent paragraphs at least. Nit: TeX/LaTeX do not inherently avoid rivers (though see https://tex.stackexchange.com/q/29049/48 and https://tex.stackexchange.com/q/4507/48), and the body font in this PDF is not Garamond but Linux Libertine.

The typesetting of this book seems due to Andres Raba (sarabander on GitHub), and the LaTeX is generated by a script from texinfo format: https://github.com/sarabander/sicp-pdf/tree/5b3a5b2/src

Post reply on HN