Newsgroups: comp.lang.smalltalk,comp.lang.c++,comp.lang.java,comp.object
Path: cantaloupe.srv.cs.cmu.edu!bb3.andrew.cmu.edu!newsfeed.pitt.edu!scramble.lm.com!news.math.psu.edu!news.cse.psu.edu!uwm.edu!cs.utexas.edu!howland.reston.ans.net!EU.net!usenet2.news.uk.psi.net!uknet!usenet1.news.uk.psi.net!uknet!psinntp!psinntp!psinntp!merlin.hgc.edu!jcm
From: jcm@hgc.edu (James McKim)
Subject: Re: Dynamic vs. static type checking
Message-ID: <1996Jul19.152405.23553@merlin.hgc.edu>
Sender: usenet@merlin.hgc.edu (Action News Central)
Organization: The Hartford Graduate Center
References: <31EA0843.E4@iitb.fhg.de> <31EAADAB. <ROGOFF.96Jul18094105@sccm.Stanford.EDU>
Date: Fri, 19 Jul 1996 15:24:05 GMT
Lines: 43
Xref: glinda.oz.cs.cmu.edu comp.lang.smalltalk:41027 comp.lang.c++:201066 comp.lang.java:69718 comp.object:52332

In article <ROGOFF.96Jul18094105@sccm.Stanford.EDU> rogoff@sccm.stanford.edu writes:
>rmartin@oma.com (Robert C. Martin) writes:
>   In article <ROGOFF.96Jul17104432@sccm.Stanford.EDU>,
>   rogoff@sccm.stanford.edu wrote:
>
>   > rmartin@oma.com (Robert C. Martin) writes:
>   >    Without MI this must either be implemented by manually copying the 
>   >    Subject code into the Objserved door (yuk), or by delegation.  
>
>   <details of generic approach elided>
>
>   Of course there are other elegant ways to accomplish what I want to do.
>   My point was that MI provided an elegant solution; not that MI provided
>   the *only* elegant solution. 
>
>I was trying to point out that MI is not necessary for the elegant solution 
>of this problem, even in a statically typed language. By doing this kind of 
>analysis on different MI designs, I'd like to get a sense of when MI is 
>a better or worse approach than the alternatives.
>
>   MI is a useful tool.
>
>Sure. But a given language can have only a small number of language features.
>Is MI a "must have" feature for convenience, or are the alternatives good 
>enough? 
>
>-- Brian

IMHO, in a statically typed language some form of multiple polymorphic
subtyping is a must have. Eiffel and C++ support this via inheritance,
which for better or worse is also used for subclassing. I believe Java
supports multiple subtyping (inheritance for interface) rather than
subclassing (inheritance for implementation). Any Java expert care to
comment?

My $.02,
-- Jim

-- 

*------------------------------------------------------------------------------*
Jim McKim  (860)-548-2458     Teachers affect eternity. They can never tell 
Internet:  jcm@hgc.edu        where their influence stops.
