Rating: ![5 stars](http://www.reviewfocus.com/images/stars-5-0.gif) Summary: No other computer text has influenced me so profoundly. Review: I first used this book in conjunction with an MIT video course I took back in 1987, after almost 10 years of professional programming. It truly opened my eyes to a larger world. Now I recommend it to anyone who is serious about achieving technical elegance, no matter what the platform or environment. So go out and buy the damn book!
Rating: ![5 stars](http://www.reviewfocus.com/images/stars-5-0.gif) Summary: SUMMA CUM LAUDE Review: "Structure and Interpretation of Computer Programs", or SICP for short, introduces the reader to the basic concepts of programming and gives an introduction to the programming language Scheme. Students are taught that abstraction is the most important idea within computer science, because it is a powerful tool that allows us to manage the complexity of the software systems we construct. In the same volume he or she gets in contact with Scheme, the most beautiful, elegant and powerful language there is. The book is fun to read. There are lots of examples (easy and complex) and clear diagrams. The ease with which the reader is being introduced to the topics at hand is unrivaled. There really shouldn't be a single computer scientist or programmer running around that hasn't read this great book. If you ask me for the CS books I'd carry with me to a remote island, I wouldn't hesitate to name SICP first, probably followed by Knuth's "Art of Computer Programming" and the Dragon Book (i.e. "Compilers: Principles, Techniques, and Tools"). The second edition has seen some corrections and vast improvements in the areas of compliance to IEEE 1178:1990 (Standard Scheme) and more interesting examples (e.g. involving image processing). EXCELLENT!
Rating: ![5 stars](http://www.reviewfocus.com/images/stars-5-0.gif) Summary: No question, this book is a must read Review: My first exposure to this book was as a freshman at MIT in '86. Since then I've been exposed to an awful lot of computer science books. And I'm afraid the term "awful" has applied all too often. This book still stands out in my mind as one of the best comp. sci. texts I've ever read. It encompasses so many different areas of computer science that it has only been when I reread it years later that I really appreciated the full scope of the topics the book hits. Every footnote seems to branch off into another interesting facet of comp. sci. It is a bit challenging (it was geared to MIT students) but is definitely worth the read. If you get it make sure you track down MIT Scheme, the language used throughout the book, it'll help you get the most from the book, and is very interesting in its own right. In my opinion the approach the authors take is a much better one than that traditionally followed by "introductory" computer science texts.
Rating: ![4 stars](http://www.reviewfocus.com/images/stars-4-0.gif) Summary: SICP is rewarding despite dense and rigorous reading. Review: Being a Freshman at MIT and having to use SICP as the textbook for my Intro to Comp. Sci. class, I have a passing urge to really slander this book. It is certainly very rigorous reading, with concepts and examples presented in the manner of a a gushing fire hydrant. From the opening concepts of abstraction and compound procedures, SICP builds at a blazing pace, covering much more than just the basic material one would expect from a first-semester Comp. Sci. class, including topics which ought to be tucked away in later courses such as streams, register machine code, and compilation. However, the rewards of keeping up with the pace of SICP are tremendous, as the reader will undoubtedly have gotten quite a firm grasp of computer science and its challenges (Abelson and Sussman have included some of the on-going research topics of Comp. Sci. in SICP as exercises). SICP is a treausre of knowledge waiting to reward those willing to suffer in reaching it. I have personally both suffered and been rewarded. And if I ever get thirsty now, I have learned the art of drinking out of a spewing fire hydrant
Rating: ![5 stars](http://www.reviewfocus.com/images/stars-5-0.gif) Summary: The Pons Asinorum of programming Review: Barry Mazur (talking about mathematics, not programming) once characterised the encounter with a genuinely new concept in terms of Gabriel Garcia Marquez's experience on reading the first lines of Kalfka's Metamorphosis, when he literally fell off the sofa in shock, thinking 'I didn't know you were allowed to do that'. I still remember the same shock, even if I didn't literally fall of my chair, when, as an undergraduate, I encountered the first edition of this on the new acquisitions rack in my departmental library: I must have been the first person in the University, in Northern Ireland even, to read it, which I did, from cover to cover, over several days sitting in the library, even before it was released into the stacks. The reason why Structure and Interpretation is the best there is, is that it manages, not just once, but several times, to deliver that fall-off-a-chair intellectual jolt. People who complain that you can only do such things in Scheme, and therefore that the ideas are pointless, are missing the point.
Rating: ![5 stars](http://www.reviewfocus.com/images/stars-5-0.gif) Summary: Fantastic Book. Review: This is a fantastic book. I agree with the reviewers that say this book as little to do with contemporary software design and practice, and that's a shame, because if this book HAD more influence on contemporary software design, programs would work much, much better.
This is a book about writing software, controlling complexity, identifying abstractions. It is filled with intelligence and wisdom. It is also a lot of fun.
Rating: ![3 stars](http://www.reviewfocus.com/images/stars-3-0.gif) Summary: Where May I get the answers to the exercises? Review: Hi I bought Structure and Interpretation of Computer Programs and the Instructor's Manual hoping that the answers would be in at least one of them. No answers. I'm not enrolled in any school so don't have access via that route. Could someone please let me know where I can get them. Would greatly appreciate it. Kevin
Rating: ![5 stars](http://www.reviewfocus.com/images/stars-5-0.gif) Summary: Errata Review: Note that his book has 657 pages, not the alleged 556 pages mentioned in the "product details". In my humble opinion, the best book ever written on the subject.
Rating: ![5 stars](http://www.reviewfocus.com/images/stars-5-0.gif) Summary: At Least It's Not Lisp! Review: As has already been noted in other reviews, any discussion of programming languages is as prone to generating pointed, excited intercourse as a discussion of religion is. Those who think of a college education as preparation for a job have got it all wrong. It is preparation for life. Your success in life will depend on your ability to learn for you will need to learn far more after college than you did during college. Those who think that computer science should be taught in "marketable" languages should note that computer languages come and go. Ask a COBOL programmer. Knowing how to construct software is more important than the language of implementation. My brother is a software architect for Microsoft and most of the people that are lucky enough to get an interview are hard pressed to write code to manipulate linked lists or trees let alone discuss these most fundamental data structures! Computer scientists in academia do all of us out here in the real world a great disservice by foisting upon us this confusing melange of mathematics and software engineering. I find the two years devoted to learning calculus and differential equations more pertinent to mechanical and electrical engineering when logic, discrete mathematics, algorithm analysis, and automata theory, which are more appropriate to software engineering, get short shrift. SICP is an excellent step in this direction and scheme is an excellent vehicle for discussing these concepts and more. Furthermore, these concepts can be developed with a lab-oriented, engineering approach. Contrary to the beliefs of some, any algorithm can be implemented in scheme. What sets scheme apart from other languages is that a scheme program can then be devised to analyze that algorithm giving a rigorous and concrete development of the analysis of algorithms! When it comes to software engineering learning a computer language should be the most trivial of tasks. If you can't implement a software design in the language chosen, you will be without a job. This book is by far the best for learning scheme and the fundamentals of programming and it is already considered a classic. There are, however, less challenging ones such How To Design Programs and Simply Scheme. If you find learning scheme to be difficult then you should expect learning any computer language to be difficult. For those that think the language of the day is a route to a job you might find a shorter program at a community college more suitable. Community colleges are geared towards supplying people that meet the needs of the market today.
|