Kinds of 'subprograms'

Marcel Weiher marcel at system.de
Mon May 17 08:50:24 UTC 1999


> From: "Michael S. Klein" <mklein at alumni.caltech.edu>
>
> [ 'method' kindLike: 'subroutine'    SNIP ]
>
> I call all of these kinda things 'subprograms'.
>
> You can view macros as a weak, but easy to explain
> kind of subprogramming technology.
>
> You can view generic functions as a strong, but hard to
> explain kind.
>
> The spectrum:
>
> add-hoc
> macros
> subroutines
> functions
> methods
> generic functions
> <yet to be invented>

These are all places in a system where computation happens, software  
architecture calls them 'components' a category that is broad enough  
to include filters, processes and layers as well as lower level  
constructs such as methods/procedures.  These places are put together  
to form a system by 'connectors' such as message sends, procedure  
calls, data-flow pipes, signals or broadcasts.

The components method and procedure/subroutine aren't really  
dissimilar, it is the connectors, procedure-call vs. message-send  
that aren't really at all alike.  Apart from the dynamic lookup,  
connections can be made from within methods with message sends in an  
organized way, and messages don't really have to trigger the  
execution of methods, they could just as well simply be stored, or  
matched by a rule-system or whatever.

Marcel





More information about the Squeak-dev mailing list