[Tutor] where to start

Remco Gerlich scarblac@pino.selwerd.nl
Tue, 15 May 2001 14:45:35 +0200


On  0, Katharine Stoner <kstoner@netins.net> wrote:
> I wanted to know how do you go about starting a large program.  Where do
> you start on it?  The ideas I have involve making windows, but I don't know
> how to start them.  I'm still researching the widgets and making windows.
> Should I just plow on through or what?

The user interface is not the most central thing, except for pretty small
applications. You want to be thinking about your data.

What will your program have to do? Does it consist of several parts? What
sort of data will it have to keep track of? What will it do with the data?
What would be the way to organize it? Try to think of a natural way to
divide your data in classes.

The GUI also needs to be designed, but it's not what you program first. It
should be as independent as possible from the rest of the program (I've seen
programs where the main business logic was in the function that decided
whether a certain radio buttion could be clicked - it was *not pretty*).
You want to be able to make changes to your data model without changing the
GUI, and vice versa.

You should be able to test your data structures from the Python interpreter,
ideally. Then you build a simple GUI that can interact with them, adding
more and more features.

This is of course oversimplified and still pretty much hackery, but there's
sooo much written on Software Design, and I don't even know what you're
trying to make :)

-- 
Remco Gerlich