[self-interest] (Aspects) Utilities in Lisp vs Design Patternsin Smalltalk- Self
lourenci at lsi.usp.br
Thu Apr 24 16:23:09 UTC 2003
David Harris wrote:
I have not been chatting about this because I am delving deeper into
these topics! And I would appreciate an in-depth analysis because
I do think it is of the utmost importance for the future of software
towards implementation of complex systems!
> But, in reality, most people design in both directions at once -- as it
> is important to thing about the low-level implementation at the same
> time as considering the overall stategy or hight-level shape of the
> Jecel Assumpcao Jr wrote:
> >On Monday 21 April 2003 13:27, Albertina Lourenci wrote:
> >>First of all I would like if someone explain to me
> >>if there are differences between bottom-up programming
> >>and exploratory programming.
> >This is way off topic, but here is a short reply:
> >Imagine that a program A is made up of components B, C and D. Suppose
> >that component C is made up of subcompenents E and F. This is a tree
> >structure, right? As is usual in computer science, imagine the tree
> >with the root (A) at the top.
> >If you create this program by starting with A and ending with E and F
> >you will be doing "top-down design". "bottom-up design" goes in the
> >opposite direction.
> >A problem with top-down design is that A can't really run if B, C and D
> >haven't been created yet. So the very first time you get to run the
> >program is when you have finished writing it! One solution is to create
> >small "place holder" components that are dummy versions of B, C and D
> >so you can test A and see if it works.
> >With a proper interactive environment (such as Self) you can test E as
> >soon as you have written it. A more static environment would not allow
> >you to call E from a command line and would make you write a program to
> >call it (a dummy C, for example).
> >Many people plan ahead in a top-down fashion and then program in a
> >bottom-up way. Others actually prefer to first think about the low
> >level components (leaves of the tree) and play around with them
> >exploring what they can do before moving on the the next level.
> >A language like Forth forces you to program bottom-up since everything a
> >"word" refers to when it is defined must have been previously defined.
> >Lisp and Self allow references to things that might not yet exist.
> >Aspects are "cross-cutting", as you said yourself, and would represent
> >an entirely different direction compared to the up/down axis.
> >-- Jecel
> >Your use of Yahoo! Groups is subject to http://docs.yahoo.com/info/terms/
> Your use of Yahoo! Groups is subject to http://docs.yahoo.com/info/terms/
-------------- next part --------------
A non-text attachment was scrubbed...
Size: 316 bytes
Desc: Card for Albertina Lourenci
More information about the Self-interest