5 ms·
"Kinda started reading it but didn't get what the hype is all about". I put it on my to-read list after reading Peter Norvig's review. I read maybe 2% of it an
by nandemo 15y ago
"Kinda started reading it but didn't get what the hype is all about".
I put it on my to-read list after reading Peter Norvig's review. I read maybe 2% of it and skimmed a lot more. While I'm sure I could learn quite a bit if I seriously studied the whole thing, I'm not sure it would be a good use of my time: most of the contents I already studied in college, though in a quite different approach. There are topics that I'm weak at, but if I decide to learn (say) compilation for real then I'd be better served by reading a book focused on compilation.
In other words, while SICP seems rather hardcore as an introduction to computer science, it feels rather unexciting as a review of my CS undergrad syllabus.
- arohner 15y agoYou'd be surprised. I worked through SICP a few years after graduating, and after the dragon book, and it still managed to warp my brain in new and exciting ways.
- ecyrb 15y agoCongrats on making it through both. I haven't gotten to the dragon yet... For those interested, you can get a red dragon for significantly less than the newer editions (check amazon).
- silentbicycle 15y agoYou can also get better compiler texts, these days. I recommend starting with Niklaus Wirth's _Compiler Construction_ (http://www.inf.ethz.ch/personal/wirth/books/CompilerConstruction/CBE.pdf http://www.inf.ethz.ch/personal/wirth/books/CompilerConstruc...), then Andrew Appel's _Modern Compiler Implementation in ML_. I have a comment linking together several threads of compiler-related advice on HN here: http://news.ycombinator.com/item?id=1922002 http://news.ycombinator.com/item?id=1922002.
- osivertsson 15y agoI had a hard time with Appel's _Modern Compiler Implementation in ML_ when I did the compiler course (7 years ago...) for my CS major. I much preferred _Modern Compiler Design_ by Dick Grune et al. (http://www.dickgrune.com/Books/MCD_1st_Edition/ http://www.dickgrune.com/Books/MCD_1st_Edition/). A second edition seems to be in the pipeline (http://www.dickgrune.com/Books/MCD_2nd_Edition/ http://www.dickgrune.com/Books/MCD_2nd_Edition/).
- silentbicycle 15y agoI'm not familiar with that one, but the table of contents looks promising. If it's even half as good as his _Parsing Techniques: A Practical Guide_, it's worth checking out.
- shawndumas 15y ago$10.09 ==> http://isbn.nu/0321486811 http://isbn.nu/0321486811
- eru 15y agoI never understood what people like about the Dragon book. It talks you through implementing a compiler for an imperative language in an imperative language in a very pedestrian way. Give me more theory!
- mturmon 15y agoI think you're underestimating the depth of the book. I read SICP and took a distance-learning version of 6.001 as a first-year grad student (undergrad BS in CS) and found it to be very challenging if your goal is mastery of the material. Another grad student, who was on a team that placed second in the national Putnam exam (i.e., a national-level math geek), also found it quite challenging. Two of my professors, both now Fellows of the IEEE, also took the course with me and found it just as deep and original, and even more challenging, than we young computer weenies did. Some courses, you have to take twice to master. For me, information theory was one of those. And I suspect that to a lot of MIT undergrads, 6.001 might be like that. The first time, you're just too bogged down in tactics to see the big picture(s).
- nandemo 15y agoOh, I don't mean to say the book isn't deep; my CS undergrad courses were quite deep! In any case, yes, it's quite possible that I'm underestimating the value of the book for me.
- spacemanaki 15y ago"but if I decide to learn (say) compilation for real then I'd be better served by reading a book focused on compilation." If you're a total noob at compilers, as I was when I read SICP (and still am) I think chapters 4 and 5 are a great intro. Like other Lisp/Scheme compiler and PL books (Lisp in Small Pieces, PLAI I think, EOPL to a lesser extent, parts of PAIP I think) SICP doesn't scratch parsing and lexing, but just uses (read). This means you can get to interesting stuff like program analysis and code generation without getting bogged down in parsing, at least at first. It's a really nice approach to learning that stuff.