I voted this up because it’s a very good book, but I want to add a
little disclaimer:
SICP is a book on how to write programs. It is not, as one might think
from the title, a theoretical book. It is accessible to people who have
never programmed, but it will not be liked by people who dislike the
actual activity of programming.
I have found that many people hate to program, and most who try it
discover they hate it.
I expect that it has a very different success rate than other books; that a binary variable of “likes programming” is not the best model. That more analytical people are more like to learn programming from it than from other sources, and less analytical people the opposite. But I suppose “learn programming from it” and “like it” may be independent.
SCIP is as far as you can get from ‘Learn X in 24 hours’. It’s about real thinking about a problem, and then coming up with some elegant solution.
A lot of ‘real-world’ programming is about programming in an as quick-and-dirty fashion as you can get away with. This book is most definitely not for that—and is as irrelevant for rationalists as astrology.
This book, however, is about thinking, in terms of computation. And the reason for mentioning it here for ‘rationalist purposes’ is that I think that viewing the world in computational terms bring valuable insight, just like e.g. an evolutionary viewpoint does, or a bayesian.
I can’t tell whether I don’t understand you, you don’t understand me, or
both.
I suppose it’s theoretically possible for someone who hates programming
to enjoy a book on how to program, but I don’t think it will happen. I
don’t see what being analytical has to do with it.
If you don’t hate programming, you might or might not like SICP for a
whole bunch of reasons. How analytical you are might be one of them.
i actually agree with the points you made, and also with the point that Douglas_Knight made. I don’t think those points are incompatible.
The nature of Scheme as a ‘idealized’ programming language enables one to focus on the actual problem rather than the language (after some practice at least). And that way of looking at problems is what makes it interesting in the context of LW—which is not about programming perse after all.
So yes, the book teaches you to program—but also yes, it does that in a somewhat abstracted way, which will be less interesting for people who want cookbook-style solutions. It’s about training the mind.
I voted this up because it’s a very good book, but I want to add a little disclaimer:
SICP is a book on how to write programs. It is not, as one might think from the title, a theoretical book. It is accessible to people who have never programmed, but it will not be liked by people who dislike the actual activity of programming.
I have found that many people hate to program, and most who try it discover they hate it.
Could you elaborate?
I expect that it has a very different success rate than other books; that a binary variable of “likes programming” is not the best model. That more analytical people are more like to learn programming from it than from other sources, and less analytical people the opposite. But I suppose “learn programming from it” and “like it” may be independent.
Excellent point.
SCIP is as far as you can get from ‘Learn X in 24 hours’. It’s about real thinking about a problem, and then coming up with some elegant solution.
A lot of ‘real-world’ programming is about programming in an as quick-and-dirty fashion as you can get away with. This book is most definitely not for that—and is as irrelevant for rationalists as astrology.
This book, however, is about thinking, in terms of computation. And the reason for mentioning it here for ‘rationalist purposes’ is that I think that viewing the world in computational terms bring valuable insight, just like e.g. an evolutionary viewpoint does, or a bayesian.
“and is as irrelevant for rationalists as astrology.”
Do you mean quick-and-dirty programming or this book?
I can’t tell whether I don’t understand you, you don’t understand me, or both.
I suppose it’s theoretically possible for someone who hates programming to enjoy a book on how to program, but I don’t think it will happen. I don’t see what being analytical has to do with it.
If you don’t hate programming, you might or might not like SICP for a whole bunch of reasons. How analytical you are might be one of them.
i actually agree with the points you made, and also with the point that Douglas_Knight made. I don’t think those points are incompatible.
The nature of Scheme as a ‘idealized’ programming language enables one to focus on the actual problem rather than the language (after some practice at least). And that way of looking at problems is what makes it interesting in the context of LW—which is not about programming perse after all.
So yes, the book teaches you to program—but also yes, it does that in a somewhat abstracted way, which will be less interesting for people who want cookbook-style solutions. It’s about training the mind.