Newsgroups: comp.object,comp.lang.smalltalk
Path: cantaloupe.srv.cs.cmu.edu!das-news2.harvard.edu!oitnews.harvard.edu!purdue!lerc.nasa.gov!magnus.acs.ohio-state.edu!math.ohio-state.edu!usc!cs.utexas.edu!news.sprintlink.net!news.bluesky.net!news.mathworks.com!news.kei.com!nntp.et.byu.edu!netline-fddi.jpl.nasa.gov!hudson.lm.com!newsfeed.pitt.edu!dbisna.com!psinntp!psinntp!psinntp!psinntp!merlin.hgc.edu!jcm
From: jcm@hgc.edu (James McKim)
Subject: Re: Has C++ had its day?
Message-ID: <1995Jun12.135705.3580@merlin.hgc.edu>
Sender: usenet@merlin.hgc.edu (Action News Central)
Organization: The Hartford Graduate Center
References: <3q7tb1$1ct@holly.csv.warwick.ac.uk> <CARROLL.95Jun9111001@quadriga.cis.udel.edu> <3rdco8$5ve@gensym1.gensym.com>
Date: Mon, 12 Jun 1995 13:57:05 GMT
Lines: 38
Xref: glinda.oz.cs.cmu.edu comp.object:32705 comp.lang.smalltalk:24544

In article <3rdco8$5ve@gensym1.gensym.com> jsa@gensym.com () writes:
>
>>It's entirely possible to design a language where the visible
>>interface is described as a part of the implementation (i.e., the
>>source code has no explicit seperation), and the seperate interface is
>>generated by the environment/compiler. A fine example of this is
>>Smalltalk, where you never define an interface as an explicit,
>>seperate part of the source code. But when you sit down with your
>>Smalltalk browser, you can view the interface as if it had been
>>implemented seperately.
>
>Another "obvious" example is Eiffel.  To get the "interface" you run a
>tool to get the "short" form.
>
>/Jon


This is certainly true of Eiffel, but my understanding was that Smalltalk
did not have a designable public interface. I thought that in Smalltalk
all methods were automatically public and all attributes automatically
private. If this is true then I guess the tool described above would just
extract the method signatures. Of course the typical Eiffel tool does
much more than that. It extracts the full public interface consisting of
the signatures and specifications (preconditions, postconditions, and 
invariants) plus selected comments. Further the browser will "flatten"
classes so that the programmer can see the whole class, including the
parts defined in ancestors. And much more.

If I'm wrong about Smalltalk's public interface, please set me straight.

Hope this helps,
-- Jim

-- 

*------------------------------------------------------------------------------*
Jim McKim  (203)-548-2458     Co-editor of Eiffel Outlook 
Internet:  jcm@hgc.edu        Subscribe early and often!
