 |
Book Reviews of Structure and Interpretation of Computer Programs - 2nd Edition (MIT Electrical Engineering and Computer Science)Book Review: Great book for theory and ideas - not a 'C' book Summary: 5 Stars
This book is for people who like their theory as much as they like practical books. It will *not* make you immediately able to command great money as a programmer (as opposed to spending time becoming a Microsoft or Sun certified engineer).What it will do is make you think about the structure of your programs in ways that 'C' & 'C++' community have great difficulty in doing because of the inherent complexity of their environment. Get if from the library - if you like it buy it as a reference - if you don't you won't have wasted your money!
Book Review: Great intro to programming -- Summary: 3 Stars
-- for someone who never has to deal with industrial software. But there is greatness here, so let's start with that.
The book is entirely based on a Lisp dialect. That gives a very strong mathematical note to the whole text, where functions of functions arise early on. This book lays out an aggressive first course in programming, introducing valuable topics like lazy evaluation, logic programming, interpreters, and constraint propagation. These, of course, have many applications and even more implications; the base concepts are useful far beyond the case studies presented here. The students of this course also receive vivid demonstrations of the hazards of parallelism, and the merits of stateless functional programming in eliminating change-of-state race conditions.
Sorry, to say, I'm not a functional programmer. I use imperative languages (call them dys-functional if you must). So do 99.9% of all commercial software developers. They're stateful languages, and reflect the fact that the world has state. It may be elegant to move back and forth along the static, four-dimensional space-time trajectory of moving objects with respect to fixed ones. In practice, however, a car ramming a wall should not be considered a reversible event.
One must also note that the early versions of this book date to the 1980s, before object orientation became widespread. Even the later edition (1996) ignores the basics of OO practice, since they couldn't be captured in the version of Lisp favored here. Instead, examples (ex. p.189) propagate the pernicious practice of hand-coding polymorphism via switch statements or manual table management. I'm not an OO absolutist by any means. I'm painfully aware of its limits, and willing to recommend functional style when it solves specific problems. I am fully cognizant of the iron and silicon that lie under my program, however, and of the mutualism between hardware and software. In all the years I've been building software and hardware, I've never seen a "functional" computer. Sooner or later, all of them store bits - if nothing else, the functional program itself.
There's a lot of good in this book, including a great example of how to design a programming course for a brilliant novice. Believe me, the smart students can be harder to handle than the plodders (but worth it). This may outstrip the plodders, though. And, in the end, it teaches only Lisp - a language with negligible presence in the working world.
//wiredweird
Book Review: Great minds think alike, and fools seldom differ Summary: 5 Stars
I never heard so many interesting and different views expressed for any book.some call it a waste of time and others a classic.Some refer it as an apptitude test for comp sc and others a book that has nothing to do with modern software engineering. I think everyone is right at its own place. It all depends on how you look at things.Their is a set of inquistive ppl in the world who wants to know why and how of every thing .. why this apple is falling towards the ground and not the otherway .. isn't this a stupid question, a lil crazy for Newton to think this way so is this book. The author starts by exploring what a program is. what is data,procedure,abstraction,modularity what we can do with it .how to model systems and why ? well all these are trivial questions and why do we care..we are living in a world of MFC's,API's,Integrated Environments..True thats why this book is a waste of time and has got nothing to do with modern software engineering. But if you care why the apple is falling towards the ground and if you have the faculty to wonder you are going to like this book. It will give u insight in to the programing will make u think in terms of programming and not languages.. may be will add to ur creativity..This book is not easy to read.I think this book is equally difficult for a fresher and a 10 yrs exp guy.It all depends on how gifted u are. if u have it, it doesn't matter how many years u have put in to comp sc. If you want to make an apple pie from scratch, you must first create the universe.SICP is all about this.
Book Review: Half cooked...poor explanations Summary: 1 Stars
I'm extremely interested in theoretical computer scinece, but I found out that this book presented the subject very poorly...emphasizing the wrong concepts and overall not giving a coherent and lucid discussion. Waste of money, in short.
Book Review: Has nothing to do with modern software engineering Summary: 3 Stars
I can see why this book gets mixed reviews. On the one hand, it is very well written and covers some interesting ideas, but on the other hand, it has absolutely nothing to do with modern software engineering practice. If you just want a good stimulating read, then by all means buy it, but if you want to learn something of practical value to the software engineer you must look elsewhere. It also strikes me as being rather old fashioned and doesn't issues such as distributed computing or object orientation adequately.
More Structure and Interpretation of Computer Programs - 2nd Edition (MIT Electrical Engineering and Computer Science) reviews: First Review 4 5 6 7 8 9 10 11 12 13 Newest Review
|
 |