Live data from Hacker News

SICP: The only computer science book worth reading twice? (2010)

simondobson.org

91–100 of 189 posts

Re: SICP: The only computer science book worth reading twice? (2010)

#91
post #56

Earlier quoted context omitted.

Well CS and software dev in trenches moved a bit. There are still jobs where people write frameworks, database engines or version control tools. Those jobs require heavy CS and algorithms, data structures day to day. But there are less of those jobs nowadays as no one is implementing db engine for their app they just use Postgres. Other jobs that is vast majority is dealing with implementing business logic. Using dat…

> while using CS background to fully understand frameworks already existing. Most frameworks today are so complicated that you typically cannot understand them fully, and even understanding them somewhat partially is more than a full-time job.

Last week, after reading Methodology is bullshit here, this was my first thought!

https://x.com/henri__OK/status/1854813243916882365

Re: SICP: The only computer science book worth reading twice? (2010)

#93

It’s interesting, SICP and other many other “classic” texts talk about designing programs, but these days I think the much more important skill is designing systems. I don’t know if distributed systems is consider part of “Computer Science” but it is a much more common problem that I see needs to be solved. I try to write systems in the simplest way possible and then use observability tools to figure out where the de…

Scouring SICP cannot imbue the student with mechanical sympathy any more than poring over analysis of Coltrane makes me a saxophonist.

Nevertheless. It must be done. Theory and practice.

Re: SICP: The only computer science book worth reading twice? (2010)

#94

I really wanted to like SICP but Lisp throws me off. I love Haskell and Standard ML however! Did others have a similar experience? Might be interesting to read a book similar in spirit to SICP but using a different language as a vehicle (No, I don't want to do SICP in JavaScript).

yes, i like ML (well.. ocaml) and bounced off SICP for the same reason. It was actually SICM that made me come back and stick with it, the ideas were just too interesting (whereas for SICP it was a lot of ideas I was already familiar with)

Re: SICP: The only computer science book worth reading twice? (2010)

#95
post #79

Earlier quoted context omitted.

There's a SICP edition done in Javascript.

Have you looked at it? It's an abomination. The point of SICP isn't Scheme or the syntax of Scheme, but what it represents. Whoever made the Javascript rewrite didn't understand that. You can't write a metacircular interpreter in Javascript, because Javascript is not homoiconic.

I'm pretty sure someone wrote a very basic, very literal scheme to JavaScript transpiler and just ran the book's code through it. The results look nothing like what any normal person would write.

Re: SICP: The only computer science book worth reading twice? (2010)

#97
I haven’t seen it in the comments yet, but you can watch Abelson and Sussman teaching the material from this book from recorded lectures in 1986.

I still find their description of how to create and group abstractions in various layers to be useful personally and as a mentor. (In the videos, lesson 3A, 1:07:55)

https://m.youtube.com/playlist?list=PLE18841CABEA24090

Re: SICP: The only computer science book worth reading twice? (2010)

#98
post #81

Earlier quoted context omitted.

IMO it's not excellent. It's not like SICP, it's obtuse for no reason, I find it a hard slog. Flexibility is good but it seems to try to make every bit of your program flexibile and pluggable and you just need to do something eventually. My opinion, I'd welcome others on the book; there was a small splash when it came out but not much discussion since.

Is there another book you'd recommend - more recent than SICP - for how to avoid programming yourself into a corner?

I don't know about books, but I think the best approach is functional programming in a dynamic language. That could be because I'm currently an Elixir fanboy, but I think Lisps, especially Scheme or Clojure, or a functional-restricted approach in JavaScript could do it as well. I agree with parent comment that it's better to keep things as simple as possible and make the changes when necessary vs. building in all the flexibility in the beginning.

Re: SICP: The only computer science book worth reading twice? (2010)

#99

I haven’t seen it in the comments yet, but you can watch Abelson and Sussman teaching the material from this book from recorded lectures in 1986. I still find their description of how to create and group abstractions in various layers to be useful personally and as a mentor. (In the videos, lesson 3A, 1:07:55) https://m.youtube.com/playlist?list=PLE18841CABEA24090

The Kabbalah joke gets me every time.

Re: SICP: The only computer science book worth reading twice? (2010)

#100
post #23

Earlier quoted context omitted.

For anyone wishing to try: the maintainers of MIT Scheme no longer provide a .dmg but you can download and build the x86_64 version of MIT Scheme. The current release (v12.1) works on a Mac running Sequoia with Intel CPU or on Apple silicon via Rosetta. But the native code compiler (not necessary for SICP AFAIK) is a little broken. (Anecdotally it worked on macOS prior to Monterey, so maybe an Apple-supplied dependen…

most package managers have it, including apt and brew, so most of the time no need to build your own

Good point! though my comment about the native code compiler being broken still applies to the brew-installed version
Post reply on HN