Python syntax in Lisp and Scheme

Raffael Cavallaro raffaelcavallaro at junk.mail.me.not.mac.com
Sun Oct 12 21:26:51 EDT 2003


In article <bmcdsd$fp8$1 at newsreader2.netcologne.de>,
 Pascal Costanza <costanza at web.de> wrote:

> Many programming languages require you to build a model upfront, on 
> paper or at least in your head, and then write it down as source code. 
> This is especially one of the downsides of OOP - you need to build a 
> class hierarchy very early on without actually knowing if it is going to 
> work in the long run.

This parallels Paul Graham's critique of the whole idea of program 
"specifications." To paraphrase Graham,for any non-trivial software, 
there is no such thing as a specification. For a specification to be 
precise enough that programmers can convert it directly into code, it 
must already be a working program! What specifications are in reality is 
a direction in which programmers must explore, finding in the process 
what doesn't work and what does, and how, precisely, to implement that.

Once you've realized that there is really no such thing as the waterfall 
method, it follows inevitably that you'll prefer bottom up program 
development by exploratory methods. Once you realize that programs are 
discovered, not constructed from a blueprint, you'll inevitably prefer a 
language that gives you freedom of movement in all directions, a 
language that makes it difficult to paint yourself into a corner.




More information about the Python-list mailing list