Re: Prototyping



rsheridan6@xxxxxxxxx wrote:
Do you think you're going to be able to sit down and write a very
difficult and complex project with heavy optimization needs in a
language you've never used, and is quite different from anything you've
ever used before, and not end up, at the very least, throwing out big
chunks of it and starting over?  The point is that you're prototyping
whether you like it or not.  If you don't admit it, you just end up
wasting more time optimizing the parts that you're going to throw out.
Saying you don't have the resources doesn't help.  Besides, the Lisp
way of doing things is to rapidly write slow code, and then go back and
speed it up when and where necessary.

This discussion is becoming tiring. I very much feel it's like teaching your grandma to suck eggs. Part of the reason I'm so poor is I've gone through this "prototyping" thing before, with C++. I tried 4 different planetary models for Ocean Mars, over the course of 9 months, working 60 hours a week. If I had just accepted the inadequacies of the 1st one, it might have been somewhat painful to work with, but I would have had something demoable.


You can talk about prototyping all you want. Prototyping is a *stage* in development, and you have to define the scope of resources that are going to be used for that stage. Those resources must be proportional to the scope of the overall project, i.e. significantly less, or there is no value in prototyping at all. Prototyping is not a magic bullet or a license to just keep coding forever without actually making hard decisions about engineering tradeoffs and kicking the functionality out the door. Prototyping is also useless if you have to do everything all over again. There isn't time for a lone wolf to do everything all over again. Most things need to be "good enough" on the 1st try.

Another way of framing this debate, is to say that refactoring is expensive and should *never* be your first thought as you're working on your project. Refactoring should be delayed as long as possible, and only done when you're *absolutely certain* you need it.


-- Cheers, www.indiegamedesign.com Brandon Van Every Seattle, WA

"The pioneer is the one with the arrows in his back."
                          - anonymous entrepreneur
.