comp.lang.ada
 help / color / mirror / Atom feed
From: nebbe@lglsun.epfl.ch (Robb Nebbe)
Subject: Re: Current state of the language
Date: 20 Mar 1995 13:38:17 GMT
Date: 1995-03-20T13:38:17+00:00	[thread overview]
Message-ID: <1995Mar20.141440@lglsun.epfl.ch> (raw)
In-Reply-To: 3kc8a7$g12@stc06.ctd.ornl.gov

In article <3kc8a7$g12@stc06.ctd.ornl.gov>, mbk@jt3ws1.seas.ucla.edu (Kennel) writes:
|> Robb Nebbe (nebbe@lglsun.epfl.ch) wrote:
|> > As a side note that isn't particularly pertinent - just informative:
|> 
|> > 	Ada 95 generalizes this concept of class to user defined types
|> > 	which provides the basis for the OO rather than adding on a
|> > 	separate OO annex to the existing language like C++. There
|> > 	are actually some interesting parallels between Ada and Sather
|> > 	since both languages separate polymorphic views from monomorphic
|> > 	views of an object. In Ada these are class-wide types and
|> > 	specific types (or sometimes just classes and types) and in
|> > 	Sather they are called abstract and concrete types.
|> 
|> Oddly enough, the preferred terminology for Sather is now
|> "types" for the abstract 'things', and "classes" for the concrete 'things',
|> apparently exactly reversed from Ada. :-(
|> 
|> {So I guess it's not my preferred terminology.  Abstract types vs. 
|>  concrete classes seems to be clear, however.}


Even though "class" and "type" are often used interchangeably in
everyday English to mean a group of individuals the nuance between
the two is that "type" places the emphasis on the similarity of
the members of the group and "class" on the commonality shared by
the members of the group.

This corresponds more closely with having the abstract view being
a class and the concrete view being a type. Of course this is contrary
to how a lot of people in computer science actually use the two terms.

I've done some speculation on why we have switched the two terms
around in computer science. My first thought was that many OO languages
have a reserved word "class" but not a reserved word "type" making class
seem more concrete. Another point seems to be the confusion between
modules and types in these same languages.

Robb Nebbe






  reply	other threads:[~1995-03-20 13:38 UTC|newest]

Thread overview: 9+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
     [not found] <3j5p3p$nc1@netnews.upenn.edu>
     [not found] ` <3k0u6r$e05@miranda.gmrc.gecm.com>
     [not found]   ` <MATT.95Mar15122202@physics2.berkeley.edu>
     [not found]     ` <3k9s2j$iq8@moon.src.honeywell.com>
     [not found]       ` <1995Mar17.092345@lglsun.epfl.ch>
1995-03-17 15:02         ` Current state of the language Kennel
1995-03-20 13:38           ` Robb Nebbe [this message]
1995-03-28 16:57             ` "types" vs "classes" (was: Re: Current state of the language) Fergus Henderson
1995-03-23 15:09 ` Current state of the language Whitney de Vries
1995-03-24 20:58   ` Tucker Taft
1995-03-27 14:54     ` Norman H. Cohen
1995-03-28 18:36       ` Kennel
1995-03-28 18:42         ` Kennel
1995-03-25 18:01   ` Robert Dewar
replies disabled

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox