cata comments on Rationality Quotes September 2012 - Less Wrong

7 Post author: Jayson_Virissimo 03 September 2012 05:18AM

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

Comments (1088)

You are viewing a single comment's thread.

Comment author: cata 03 September 2012 11:10:45PM *  15 points [-]

Does the order of the two terminal conditions matter? / Think about it.

Does the order of the two terminal conditions matter? / Try it out!

Does the order of the two previous answers matter? / Yes. Think first, then try.

  • Friedman and Felleisen, The Little Schemer
Comment author: RomanDavis 03 September 2012 11:19:06PM 4 points [-]

Could you unpack that for me?

Comment author: cata 04 September 2012 01:02:46AM *  9 points [-]

Sure. The book is a sort of resource for learning the programming language Scheme, where the authors will present an illustrative piece of code and discuss different aspects of its behavior in the form of a question-and-answer dialogue with the reader.

In this case, the authors are discussing how to perform numerical comparisons using only a simple set of basic procedures, and they've come up with a method that has a subtle error. The lines above encourage the reader to figure out if and why it's an error.

With computers, it's really easy to just have a half-baked idea, twiddle some bits, and watch things change, but sometimes the surface appearance of a change is not the whole story. Remembering to "think first, then try" helps me maintain the right discipline for really understanding what's going on in complex systems. Thinking first about my mental model of a situation prompts questions like this:

  • Does my model explain the whole thing?
  • What would I expect to see if my model is accurate? Can I verify that I see those things?
  • Does my model make useful predictions about future behavior? Can I test that now, or make sure that when it happens, I gather the data I need to confirm it?

It's harder psychologically (and maybe too late) to ask those questions in retrospect if you try first, and then think, and if you skip asking them, then you'll suffer later.

Comment author: RomanDavis 04 September 2012 01:45:30AM 4 points [-]

You know, I've seen a lot on here about how programming relates to thinking relates to rationality. I wonder if it'd be worth trying and where/how I might get started.

Comment author: cata 04 September 2012 02:01:59AM *  4 points [-]

It's certainly at least worth trying, since among things to learn it may be both unusually instructive and unusually useful. Here's the big list of LW recommendations.

Comment author: RomanDavis 04 September 2012 02:10:30AM *  3 points [-]

Khan Academy has a programming course? I might try it.

Mostly, I want the easiest, most handholdy experience possible. Baby talk if necessary. Every experience informs me that programming is hard.

Comment author: cata 04 September 2012 03:18:24AM *  7 points [-]

This is the easiest, most handholdy experience possible: http://learnpythonthehardway.org/book/

A coworker of mine who didn't know any programming, and who probably isn't smarter than you, enjoyed working through it and has learned a lot.

Programming is hard, but a lot of good things are hard.

Comment author: CCC 04 September 2012 08:22:00AM 1 point [-]

The first trick is to be able to describe how to solve a problem; and then break that description down into the smallest possible units and write it out such that there's absolutely no possibility of a misunderstanding, no matter what conditions occur.

Once you've got that done, it's fairly easy to learn how to translate it into a programming language.

Comment author: DaFranker 04 September 2012 03:03:49PM 2 points [-]

Which is also why it helps, conversely, for reduction and rational thinking: The same skill that applies to formulating clear programs applies to formulating clear algorithms and concepts in any format, including thought.

Comment author: RobinZ 04 September 2012 01:55:20AM 2 points [-]

You know, I've seen a lot on here about how programming relates to thinking relates to rationality. I wonder if it'd be worth trying and where/how I might get started.

I would recommend trying, although I'm not really the right person to ask on starting points, if for no other reason than to test the hypothesis that learning programming aids the study of rationality.

Comment author: Antisuji 05 September 2012 06:36:46AM 1 point [-]

This is a great reminder, and is not always easy advice to follow, especially if your edit-compile-run cycle tightens or collapses completely. I think there's a tricky balance between understanding something explicitly, which you can only do by training your model by thinking carefully, and understanding something intuitively, which is made much easier with tools like the ones I linked.

Do you have a sense for which kind of understanding is more useful in practice? I suspect that when I design or debug software I am making heavier use of System 1 thinking than it seems, and I am often amazed at how detailed a model I have of the behavior of the code I am working with.

Comment author: cata 05 September 2012 08:57:58AM *  3 points [-]

No, I don't, which I realized after spending half an hour trying to compose a reply to this. Sorry.