4 ms·
Maybe I came to SICP too late in life, but I've always struggled to get the hype. It seems so... Basic. Making a linked list is trivial in lisp. Lisp itself is
by 3pt14159 8y ago
Maybe I came to SICP too late in life, but I've always struggled to get the hype. It seems so... Basic. Making a linked list is trivial in lisp. Lisp itself is trivial. Why does everyone care about this book so much?
- deleted 8y ago[deleted]
- greenshackle2 8y agoI don't remember Lisp or linked lists being an important part of the book. Yeah, you'll deal with them a lot because it's using Scheme, but that's really not the main point. I used it to get started with CS as a programmer who didn't study CS in college. I thought it was pretty good. It assumes the reader is intelligent. A lot of books and tutorials do way too much hand-holding for my taste. It's an intro book. If you've already done CS in college I don't expect you'd find it very insightful.
- zimablue 8y agoIt doesn't just make a linked list, if I remember right it goes through a whole compiler along with using continuations to implement a type of programming where every possibility is followed until it succeeds, along with several other paradigms.
- sn41 8y agoI am not sure whether you're joking, or a programming wizard, no disrespect intended. I run courses in programming languages where very smart kids struggle with streams (Section 3.5). I find the code for the Hamming Problem and Eratosthenes' Sieve using streams truly mind-expanding. https://mitpress.mit.edu/sites/default/files/sicp/full-text/book/book-Z-H-24.html#%_sec_3.5 https://mitpress.mit.edu/sites/default/files/sicp/full-text/...
- craigsmansion 8y ago> Lisp itself is trivial. Anything about an actual programming language is trivial in the book. I think by design. In a way, the book isn't even really using the Scheme language. It uses a seemingly makeshift language to help decompose a thought-process into uniform and logical elements. Then, if you throw some syntax at it (using a bunch of parenthesis), you can actually make a computer execute your thought process, almost as a convenient coincidence (which is also why the actual language doesn't matter. It's just that all other languages are more cluttered when trying to capture the concepts of the thought-processes as presented). One of the stated goals in the book is to blur the line between procedures and data. I believe that if you do SICP well, it blurs the line between data, procedures, and conceptual thought. If you can express a thought well enough to give it a name, to "define" it, you can control it (or "them", depending on whether you are depending on a procedure or spirits to do your bidding). You don't walk away from SICP an expert Lisp programmer. You walk away from SICP wondering if yin-yang is a fun joke by the authors, some weird coincidence, or actually a governing principle of a Universe which itself is written in Lisp. You also walk away wondering why people insist on calling OO a "paradigm".
- 3pt14159 8y agoThanks for your response. I can see how others can find value in the book now. The answer is that I'd already come away with those concepts long before the book, so the simplicity of the book belied its value.
- olavk 8y agoIt took me many months to work through the book with exercises, and I found it quite challenging. Maybe I'm not the sharpest knife in the drawer, but I was already a developer with many years of practical experience at the time. Didn't have a CS background at the time though - maybe it would be easy if you already know all the theory. I agree Scheme is pretty easy to learn, that was not the challenging part of the book. Exercises like implementing a logic language were pretty challenging, not to mention the math.
- lainga 8y agoThat's the point Hal Abelson makes in the first lecture of the class he taught off SICP. That's all there is to Lisp, just like you can teach someone chess in 10 minutes. SICP is about becoming a grandmaster.
- ehaliewicz2 8y agoThe book covers interpreters, compilers, non-deterministic and logic programming (including a implementation of a subset of prolog, using continuations). It's not that basic.
- billfruit 8y agoMyself after working through chapters upto 4(I think), did find it full of brilliant exposition of a few approaches to solve a bunch of interesting problems, but I did get a feeling that most of these methods aren't going to directly help with writing real world programs to solve the problems encountered in the wild. To put it in a vague analogy felt like reading a math book that has detailed explanations of brilliant proofs of select theorems, but doesn't fully explain how the proofs were arrived at from scratch, and doesn't describe general methods to discover proofs for as yet unknown problems. "Concepts, Techniques and Models of Computer Programming" Van Roy and Haridi, in premise sort of tries to cover that, aiming to describe a sort of 'science of programming', I haven't read too far into the book yet to comment if it delivers on that.