[plt-scheme] art and code

From: Matthias Felleisen (matthias at ccs.neu.edu)
Date: Sat Dec 5 11:38:27 EST 2009

On Dec 5, 2009, at 11:32 AM, Synx wrote:

> Matthias Felleisen wrote:
>> On Dec 5, 2009, at 7:58 AM, Geoffrey S. Knauth wrote:
>>> if you just sit down, the first thing you have to learn to be good
>>> at art is how to slow down enough to do a good job.
> I never thought about that actually. Maybe I'll try to slow down more in
> my art. I've been drawing far too many fast pencil scribbles lately.
> I'm sure that approach would work well in coding too. It's called "doing
> it right the first time". I think you can err both ways though, both in
> hesitancy, and in hastiness.

I don't think 'doing it right the first time' is the
same as 'slow down, you'll get there faster'. 

Indeed, I doubt 'doing it right the first time' works. 
What does work is to take each step deliberately. Use
the Recipe, Luke: 
 -- work out a good data rep, with an interpretation 
 -- create data examples 
 -- ...
So many of my students do the first few steps in some
sloppy, half-baked way. Some skip them. Because 'correct
code' is what matters, right? Then they get stuck coding. 
They have bugs and can't figure out why. They don't go 
back and re-examine the first few steps. They don't even 
have the intermediate outcomes to re-examine them. And so
the ad-hoc debugging begins. 

Of course, I do believe that things can go wrong the first 
time, no question asked. BUT, if you got to the mistake 
in a deliberate fashion, you can use the same deliberate
fashion to get rid of the mistake. 

-- Matthias, speaking from experience, both ways 

Posted on the users mailing list.