comp.lang.ada
 help / color / mirror / Atom feed
From: Jeffrey Carter <jeffrey.carter@boeing.com>
Subject: Re: on package naming, should the word
Date: Mon, 15 Oct 2001 22:40:50 GMT
Date: 2001-10-15T22:40:50+00:00	[thread overview]
Message-ID: <3BCB65F2.225F0F42@boeing.com> (raw)
In-Reply-To: 9qfi9q01ke@drn.newsguy.com

"Robert*@" wrote:
> 
> In article <%DHy7.30147$ev2.37198@www.newsranger.com>, Ted says...
> >
> >The way I was taught it, an "object" consists of a data type, together with the
> >operations on that type. Since a package is one means of encapsulating both
> >those things into one concept, it can indeed be considered an "object".
> >
> 
> If you "think" of a package as an object, then what do you "think" of
> when you think about the tagged record inside the package?
> 
> An object inside an object?

Package-as-Object refers to a package with only subprograms visible,
with the data storage in the package body. This defines an ASM.

A package with a type declaration and operations on the type defines an
ADT.

> 
> What do you see when you think of an array of object? an array of packages?

An object is an ASM or an instance of an ADT. An array of objects must
be an array of instances of an ADT.

Part of the confusion stems from 2 meanings for "type". In Ada, "type"
is used for defining a set of values.

For at least 30 years, the term "type" has been defined in S/W
engineering to mean a set of values and the operations on those values,
preferably encapsulated together, with a nice interface and unnecessary
information hidden. The result is an ADT.

In many languages, the Class construct provides all this. In many of
those languages, the Class construct is the only construct to provide
encapsulation and information hiding.

In Ada, there is separation of concerns. Type declarations define sets
of values, subprograms define operations on sets of values, and packages
provide encapsulation, information hiding, and modularity. Thus, the
combination of a type declaration and subprograms operating on that
type, encapsulated in a package, defines an ADT. Since not everything
that needs encapsulation and information hiding defines an ADT, and not
all types need to be ADTs, the separation of concerns allows all these
kinds of things.

If an ADT definition contains a tagged type, then the ADT is extensible
and calls to its operations may be dispatching. When extensibility is
not required, the ADT may contain a non-tagged type.

Those who do not recognize the special status packages have in Ada will
find themselves fighting the language. In a similar manner, those who do
not recognize the special status classes have in C++ will not understand
the idiom of using a class to obtain encapsulation and information
hiding, even though an ADT is not needed.

-- 
Jeffrey Carter



  parent reply	other threads:[~2001-10-15 22:40 UTC|newest]

Thread overview: 130+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2001-10-04 19:58 on package naming, should the word "_pkg" be part of it? mike
2001-10-04 20:34 ` Larry Hazel
2001-10-04 20:54   ` Pascal Obry
2001-10-04 21:04   ` on package naming, should the word Ted Dennison
2001-10-04 22:00     ` Preben Randhol
2001-10-04 22:13       ` Brian Rogoff
2001-10-04 23:38         ` Larry Kilgallen
2001-10-04 23:43           ` Preben Randhol
2001-10-05  0:40             ` MM
2001-10-05  3:22               ` Brian Rogoff
2001-10-04 22:09     ` tmoran
2001-10-05 14:21       ` Ted Dennison
2001-10-04 20:53 ` on package naming, should the word "_pkg" be part of it? Marin David Condic
2001-10-05  9:24   ` John McCabe
2001-10-05 10:35     ` mike
2001-10-05 13:29       ` Stephen Leake
2001-10-05 14:17         ` mike
2001-10-05 14:39       ` on package naming, should the word Ted Dennison
2001-10-05 15:07         ` mike
2001-10-05 15:56           ` Ted Dennison
2001-10-05 16:12             ` Francisco Javier Loma Daza
2001-10-06  9:16               ` Simon Wright
2001-10-06 12:36               ` Marc A. Criley
2001-10-05 16:52       ` on package naming, should the word "_pkg" be part of it? Jeffrey Carter
2001-10-05 12:54     ` Marin David Condic
2001-10-05 17:11     ` Jeffrey Carter
2001-10-05 18:52       ` Wes Groleau
2001-10-05 19:17       ` Vincent Marciante
2001-10-08  8:26         ` John McCabe
2001-10-05  1:55 ` Jeffrey Carter
2001-10-06  9:25   ` Simon Wright
2001-10-07 19:49     ` Jeffrey Carter
2001-10-07 21:12       ` Brian Rogoff
2001-10-08 14:51       ` Stephen Leake
2001-10-08 16:11         ` Francisco Javier Loma Daza
2001-10-08 16:17           ` John McCabe
2001-10-09  7:41             ` Francisco Javier Loma Daza
2001-10-10  8:04               ` John McCabe
2001-10-10  9:47                 ` John McCabe
2001-10-10 10:17                   ` Francisco Javier Loma Daza
2001-10-10 10:27                   ` Francisco Javier Loma Daza
2001-10-10 12:50                     ` John McCabe
2001-10-10 13:41                       ` Francisco Javier Loma Daza
2001-10-08 16:25         ` Robert*
2001-10-08 19:50           ` Matthew Woodcraft
2001-10-08 16:37         ` on package naming, should the word Ted Dennison
2001-10-08 16:41         ` on package naming, should the word "_pkg" be part of it? Vincent Marciante
2001-10-08 18:50           ` Stephen Leake
2001-10-08 19:46             ` Vincent Marciante
2001-10-08 16:58         ` Jeffrey Carter
2001-10-08 19:06           ` Stephen Leake
2001-10-08 19:43             ` Brian Rogoff
2001-10-09 14:22               ` on package naming, should the word Ted Dennison
2001-10-10  5:24                 ` Richard Riehle
2001-10-09 23:02               ` on package naming, should the word "_pkg" be part of it? Darren New
2001-10-10  0:55                 ` Brian Rogoff
2001-10-10  1:48                   ` Robert*
2001-10-10  2:28                     ` Brian Rogoff
2001-10-10 15:10                       ` Darren New
2001-10-10 18:38                         ` tmoran
2001-10-10 19:30                           ` Darren New
2001-10-10  9:51                     ` Larry Kilgallen
2001-10-10 13:05                     ` John McCabe
2001-10-10 15:37                       ` Pascal Obry
2001-10-10 17:05                         ` Steven Deller
2001-10-10 17:54                           ` Pascal Obry
2001-10-11  8:35                         ` John McCabe
2001-10-10 15:53                       ` M. A. Alves
2001-10-10 18:53                         ` Robert*
2001-10-11  6:54                           ` Preben Randhol
2001-10-11 12:07                             ` Robert*
2001-10-11 12:40                               ` Lutz Donnerhacke
2001-10-11 14:24                                 ` Marin David Condic
2001-10-11 15:17                                   ` Larry Kilgallen
2001-10-11 15:34                                   ` Robert*
2001-10-11 17:41                                     ` David Starner
2001-10-12  8:25                                       ` John McCabe
2001-10-12  9:07                                         ` Ian Wild
2001-10-12 10:16                                           ` John McCabe
2001-10-12 12:04                                             ` Ian Wild
2001-10-12 17:01                                         ` Jeffrey Carter
2001-10-15  8:18                                           ` John McCabe
2001-10-15 18:21                                             ` Jeffrey Carter
2001-10-15 19:00                                               ` Pascal Obry
2001-10-15 20:26                                             ` on package naming, should the word Ted Dennison
2001-10-15 20:52                                               ` Robert*
2001-10-15 21:57                                                 ` Ted Dennison
2001-10-15 22:40                                                 ` Jeffrey Carter [this message]
2001-10-16  8:40                                                 ` Jean-Pierre Rosen
2001-10-16 12:49                                               ` John McCabe
2001-10-16 16:57                                                 ` Jeffrey Carter
2001-10-17  8:23                                                   ` John McCabe
2001-10-11 18:37                                     ` on package naming, should the word "_pkg" be part of it? M. A. Alves
2001-10-11 19:39                                       ` on package naming, should the word Ted Dennison
2001-10-12 11:23                                         ` M. A. Alves
2001-10-13 17:32                                           ` Richard Riehle
2001-10-11 21:03                                       ` on package naming, should the word "_pkg" be part of it? Preben Randhol
2001-10-12  8:35                                         ` John McCabe
2001-10-12 11:35                                           ` M. A. Alves
2001-10-11 21:01                                     ` Preben Randhol
2001-10-12  2:04                                       ` David Starner
2001-10-12  9:02                                         ` Preben Randhol
2001-10-12 19:15                                           ` David Starner
2001-10-13 11:26                                             ` Preben Randhol
2001-10-12  2:29                                       ` Brian Rogoff
2001-10-12  8:45                                         ` Preben Randhol
2001-10-12 10:20                                           ` John McCabe
2001-10-12 14:54                                           ` on package naming, should the word Ted Dennison
2001-10-12 19:21                                           ` on package naming, should the word "_pkg" be part of it? David Starner
2001-10-12 21:23                                             ` Vector..
2001-10-13  2:13                                               ` Brian Rogoff
2001-10-13  3:21                                             ` Mark Biggar
2001-10-15 16:18                                       ` John McCabe
2001-10-11 13:19                               ` Preben Randhol
2001-10-11 13:42                               ` on package naming, should the word Ted Dennison
2001-10-11 15:18                                 ` Robert*
2001-10-11 15:47                                   ` Ted Dennison
2001-10-11 16:15                                   ` Larry Kilgallen
2001-10-11 16:15                                   ` Marin David Condic
2001-10-11 20:16                                   ` Simon Wright
2001-10-12  8:33                                     ` John McCabe
2001-10-12 16:27                                       ` Darren New
2001-10-14 20:34                                   ` Jacob Sparre Andersen
2001-10-14 22:03                                     ` Robert*
2001-10-15 12:04                                       ` Lutz Donnerhacke
2001-10-15 21:17                                         ` Florian Weimer
2001-10-15  6:50                               ` on package naming, should the word "_pkg" be part of it? Mats Karlssohn
2001-10-15 10:24                                 ` Larry Kilgallen
2001-10-18 16:23           ` Robert A Duff
2001-10-05  6:05 ` MM
replies disabled

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