Less Wrong is a community blog devoted to refining the art of human rationality. Please visit our About page for more information.

djcb comments on Recommended reading for new rationalists - Less Wrong

27 Post author: XFrequentist 09 July 2009 07:47PM

You are viewing a comment permalink. View the original post to see all comments and the full post content.

Comments (158)

You are viewing a single comment's thread.

Comment author: djcb 10 July 2009 10:32:08PM 11 points [-]

For deep understanding of how computers and especially computation works: "Structure and Interpretation of Computer Programs"

(available freely online: http://mitpress.mit.edu/sicp/)

Comment author: brian_jaress 11 July 2009 07:17:36AM 2 points [-]

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.

Comment author: Douglas_Knight 11 July 2009 07:21:23PM 1 point [-]

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.

Comment author: djcb 11 July 2009 10:06:58PM 3 points [-]

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.

Comment author: Curiouskid 15 May 2011 01:03:38PM 3 points [-]

"and is as irrelevant for rationalists as astrology."

Do you mean quick-and-dirty programming or this book?

Comment author: brian_jaress 12 July 2009 08:16:38AM 0 points [-]

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.

Comment author: djcb 12 July 2009 09:20:13AM 0 points [-]

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.