Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

I read SICP and never got the hype. Seems like there is a certain personality type who really takes to SICP but not everyone learns best that way. I found it much more intuitive to learn about computing from the hardware up rather than from the abstract, mathematical way of thinking SICP uses.


Sincerely no snark intended. But this comment and another about "bottom-up" via Assembly and C kinda show that maybe you've missed the point.

We can blame SICP itself for that maybe, but it's all in the name: Structure and Interpretation of Computer Programs. It's abstract because it's not about actually physical computing — nor is it trying to take you to the same place as learning computing from hardware, "bottoms-up" is meant to but via some other mathematical means.

It's trying to teach you to reason about computer programs by it's structures — that they aren't just a list of instructions.

Reading Shakespeare won't teach you grammar but they'll help you be a better reader and writer in their own ways!


Yes, I understand the motivation for SICP. There are similar trends in mathematics where some people like an abstracted, axiomatized presentation and others like something more intuitive. I'm in the later group as are many others. I don't think either way is superior in itself, nor do people who learn from one approach or the other turn into better programmers.


I don't think we can have one without the other. For example in Petzold's Code book there is a chapter about Boolean Algebra. In a following chapter, we then vastly simplify our previous circuits of logic gates, replacing them with other simpler ones. This happens after proving they are equivalent with our new found algebra talents.

Imagine your computer being 3x (estimated?) slower and hotter without this advancement from the "propeller-head" pure-thought-stuff people. There are undoubtedly wins like this across the whole industry.


A lot of books start at the low level and work their way up to higher abstractions. SICP goes the opposite direction: it starts close to math and then moves down towards the machine. So maybe you would enjoy the book more if you started from the last chapter [1] and worked backwards.

[1] "Computing with Register Machines": https://mitp-content-server.mit.edu/books/content/sectbyfn/b...


There are SICP lectures on YouTube (I think it was classes to HP engineers?) that I find pretty entertaining. The flavor offered by the lecturers make it more worth it and can introduce you to some interesting vocabulary.


In the OP video, Sussman explains that SICP was one of four courses at MIT that taught students how to combine small H/W and S/W components to build computers and programs from the ground up. SICP built atop those primitives -- chips and assembly that compose functions -- and introduced the students to the primitives of computational models, from concrete procedural to abstract functional, in which lambda functions lead to higher order theoretical models of computing that will be encountered in EECS courses that follow... the gang of four.


I didn't get on with SICP the first few times, but loved Tannenbaum's works and eventually the Dragon Book.

Everyone's path through these esoteric texts looks different, but all these books are magic.


I wouldn't recommend the Dragon Book to anyone who wants to learn how to write compilers, especially for the first time.

I'm not entirely sure I can recommend Wirth's Compiler Construction, but I definitely like his simple approach.


I somehow don't like the simple approach, I feel like learning a quick trick but my brain cannot encompass the whole idea. The Dragon Book (at least the 40% I've read) inspired me more.


I guess everyone is different. I loved the Dragon Book, and I bought quite a few books on the subject. It was the one that helped the most for me.

But I had been programming, self taught, for years at that point.


It was around 2001 and I was 16 or so. Still a classic though




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

Search: