[Top][All Lists]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: top-down design + nevermind

From: cr88192 sydney
Subject: Re: top-down design + nevermind
Date: Tue, 09 Apr 2002 02:55:56 +0000

this is related to recent guile-snarf weirdness but could be said to
apply generally to ends such as setting guile's direction.  top-down
design values interface elegance more than implementation elegance.  the
implementation does what it needs to support the interface and in return
for bearing this burden is given the freedom to evolve.

this is obviously in contrast to bottom-up design which i believe can
get a lot of unfocused work done but often presumes to know the future
too much in practice, eventually causing re-design, because elegance is
measured in the implementation and guesses are made about usage.

either style of design is fun.  people write books about their own
personal design philosophies and how it helps you (10min a day).  in any
case, what users perceive determines their happiness w/ the result.

so how to choose the style that fits best for the job?

I use both, for my os I use bottom up design and for my compiler I used top down. main difference: top down is a lot faster it would seem (a few hours vs. months), however top down becomes increasingly harder as complexity increases (at least in my experience). also top down tends to yeild code which is quite difficult to reuse in another project (my compiler + my os), and quite difficult to change later or maintain...

what is guile's direction, btw?

I think it is more bottom up...
no one started coding an ide and came up with guile/scm in the process. just now are ide's starting to form... (as far as I know).

in a whole cs and science in general seem to be a bottom up process, with occasional "products" that are built in the top down manner...

I support bottom up in general, but would not recommend it if time is a big issue...

Chat with friends online, try MSN Messenger:

reply via email to

[Prev in Thread] Current Thread [Next in Thread]