Live data from Hacker News

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

simondobson.org

61–70 of 189 posts

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

#61

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…

> these days I think the much more important skill is designing systems

That's true, but that doesn't mean that there is no value in having an understanding of how established technology works under the hood.

> What computer science doesn’t teach you is how memory caching works in CPUs.

That is also a very good point. There is a lot of daylight between the lambda calculus and real systems.

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

#62
post #56

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…

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…

> Yet one still can produce great amount of working software without knowing how indexes are stored on disk.

I agree... up to a point. Most software will likely be replaced/obsolete before it even reaches a scale where indexes even matter (at all) given how fast the underlying hardware is at this point.

... but I don't think this is particularly relevant wrt. the "to CS or not CS" question. If a CS grad has been paying any attention they usually have a decent idea of what kinds of problems are intractable vs. problems that are tractable (but maybe expensive to compute) vs. easy. Also just general exposure to different ways to approach solving a problem (logic programming, pure functional, etc.) can be very valuable. There's just much that one couldn't come up with on their own if one weren't exposed to the ideas from the vast expanse of ideas that are known in CS. (And even a master's doesn't come close to scratching the surface of it all.)

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

#63

i'd also recommend "Concrete Abstractions: An Introduction to Computer Science using Scheme" by Max Hailperin, Barbara Keiser, Karl Knight. http://www.gustavus.edu/+max/concrete-abstractions.html

Spelling correction on the second author's last name: Kaiser

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

#64

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…

The right book for the right problem. SICP isn't meant to teach you how to tackle fault-tolerance in a complex distributed system. Here is a textbook that talks about distributed systems (van Steen and Tannenbaum):

https://www.amazon.ca/Distributed-Systems-Maarten-van-Steen/...

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

#65
post #41
post #22

Earlier quoted context omitted.

Just so we're clear, this is a "beginner programming book" that has you create a scheme interpreter, then a register machine simulator, then a compiler out of your interpreter that will then have its compiled code run on the register machine simulator, by the final chapter. This is probably the part where you'd step up and post a link to your repo with solutions to the exercises to back up your talk, but generally I…

I commend your righteous indignation. Made me smile. Flame on!

One aspires to be a hater of such high caliber.

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

#66

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…

There are still innumerable people writing standalone programs, single-purpose embedded systems, independent components and libraries, etc

The industry has expanded to include a lot of large-scale distributed cloud projects (often where we might have expected mainframes and cobol before), with many of today's largest employers doing most of their work there, but none of that other stuff really went away. It's still being done every day.

You need a book for what you're doing, and not every book is going to be that. Apparently, SICP is not it. I possess and have read many books, and only some small number of them are applicable to the projects I'm working on at any time.

They don't compete with each other, they complement each other.

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

#67

Just dropping in to say that The Elements of Programming Style is worth reading three times — and I have read it many more times than that, and benefitted from it. Here's my review (from 2010) if you're interested: https://reprog.wordpress.com/2010/03/06/programming-books-pa...

Oh and here I thought you were talking about Elements of Programming by Stepanov and McJones which tbh I'd give the same recommendation/review.

https://elementsofprogramming.com/

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

#68

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).

i thought berkeley was using a modified version of the book using python a few years back

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

#69

i'd also recommend "Concrete Abstractions: An Introduction to Computer Science using Scheme" by Max Hailperin, Barbara Keiser, Karl Knight. http://www.gustavus.edu/+max/concrete-abstractions.html

Spelling correction on the second author's last name: Kaiser

Thank you for the correction. pardon my typo.

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

#70

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).

SICP isn't a book about Lisp, however it uses some of Lisp's unique properties to demonstrate important concepts that other languages can't easily replicate. A book that's meant to be similar to SICP that doesn't use Scheme or Lisp would not be anything like SICP, or at least not teach the same things. Haskell and ML are in my experience much harder to understand than Scheme, so I'm wondering what your difficulty is?
Post reply on HN