Interstitial Interfaces for Squeak

Marcel Weiher marcel at system.de
Thu Nov 19 15:42:25 UTC 1998


Coming back to 'ma', I'd say interfaces are a first step to making  
the interstitial aspects of our systems more explicit.  I agree that  
Squeak should not follow examples such as Java interfaces blindly,  
but rather take the lead by providing mechanisms for making system  
architecture more flexible by making it explicit.

The problems with interfaces in Java are really the problems of  
required static typing, I think.   My experience with optional  
interface typing in Objective-C has been very positive.  Protocols  
are optional, so they don't get in the way initially.  Once  
interfaces have stabilized, protocols then allow major / recurring  
communication patterns to be formally documented and verified.  This  
makes it much easier to read code on a basic level, because the  
reader can 'chunk' information and thus handle more of it.  The  
benefits of forml verification and well-defined interfaces for  
reasonabl stable components is also without doubt, I think, because  
it allows for easier  variation of the non-stable parts.  With a  
statically typed system, of course, the latter benefit is lost and so  
the first one not really worth that much.


Marcel

> From: Laurence Rozier <lrozier at thepattern.com>
>
> I agree that the benefits you list are desirable, but perhaps should be 
> implemented as Roles or better yet, class behaviors associated with a 
> prototype. Interfaces exist in part in Java because classes in  
Java are not
> real objects which makes it impossible to provide the capabilities  
you've
> described. Interfaces can and in my view of the Java world, often  
do lead to
> layers of abstraction and infrastructure which tend to make the  
executing
> system brittle and difficult to comprehend. It seems to me that Squeak, 
> especially from a Morphic perspective, is leading us towards more
> concrete
> and flexible representations. While there are some valuable lessons to 
> learn
> from Java, I think that Squeak should lead rather than follow in  
the case of
> interfaces.
>
> Regards,
> Laurence
>
> GTE/staypufd wrote:





More information about the Squeak-dev mailing list