[comp.lang.clu] First Class Routines Short but controversial

pwd@computer-lab.cambridge.ac.uk (03/16/89)

[Warning: This may provoke a religious war]

In article <118@eiffel.UUCP> bertrand@eiffel.UUCP (Bertrand Meyer) writes:
> One way to summarize this discussion is to say that I do not know of any
> good way to reconcile the following three language traits:
>
>   1. Routine arguments (in the above sense, ie routine arguments to routines)
>   2. Static type checking
>   3. A language design that makes separate compilation of modules possible

CLU supports all of these, as does CCLU (the concurrent CLU with RPC used in
Cambridge). CCLU doesn't have inheritance, we simply use generic clusters
(a bit like ADA packages) instead, that might be why its possible to combine
the three features above in this language. However we find that there is
no difficulty in writing large multi-user distributed programs in CCLU
and suspect that inheritance is more complicating than can be justified, given 
our areas of interest. 

It might be worth saying that we have _never_ met anyone
who has written a large program in CLU or CCLU who has later chosen to
switch to another language of their own free will (except for low-level
systems work). The only language we've ever encountered that seems to be 
easier to work with and which maintains a balance between functionality
and simplicity is DPL (from the ANSA project in Cambridge), but they are 
still developing their compilers. Eiffel looks very interesting, but we
feel that if something cannot be written easily using genericity then
the problem can only be solved using inheritence by relying on deep knowledge
of the inherited classes and this is likely to prove dangerous in anything
other than single user systems.

In our opinion, inheritance is likely to compound the problems inherent in
maintaining large systems, even though it superficially makes this easier
in the short term.

      -- Peter & Stephen
      
  PS We are now heading for our nuclear fallout shelter!

+-----------------------------------------------------------------------------+
| Phone: +44 223 33 4718    Fax: +44 223 33 4678    E-Mail:  pwd@cl.cam.ac.uk |
| Phone: +44 223 33 4718    Fax: +44 223 33 4678    E-Mail: smvh@cl.cam.ac.uk |
+-----------------------------------------------------------------------------+
| Post:  Computer Lab, New Museums Site, Pembroke St, Cambridge, CB2 3QG   UK |
+-----------------------------------------------------------------------------+