comp.lang.ada
 help / color / mirror / Atom feed
From: Ed Falis <efalis@mediaone.net>
Subject: Re: Another important feature of Ada
Date: 2000/11/15
Date: 2000-11-15T00:00:00+00:00	[thread overview]
Message-ID: <PM000376263FFF6F15@Dogen.ne.mediaone.net> (raw)
In-Reply-To: 3A12BBC6.E3FDAB0F@averstar.com

Well, I'm going to be a bit heretical here, having done a little Eiffel
programming and a lot of Ada programming.  DbC in conjunction with the
tool-enabled extraction of interfaces, and the use of deferred classes,
more than makes up for the lack of physical separation.  The "little"
Eiffel I did was several thousand lines of a GUI tool.  It worked rather
nicely.

In the end, it strikes me as a wash, since I can do more or less the
same in Ada as Eiffel DbC using asserts and (in the case of gnat, pragma
debug to provide inherited contracts and overrides).  The Eiffel DbC
capabilities take less work to accomplish the same end.  The Eiffel
ability to present only the interface in the IDE is less work than
separately writing specs and bodies.  And fully deferred classes handle
the pragmatic need for control of interfaces separate from
implementations by different stakeholders.  Both languages accomplish
similar goals, and it seems a matter of taste as to which to prefer.
These languages have more in common than most.

- Ed

Tucker Taft wrote:
> I also believe strongly in the value of separating interface and
> implementation.
>
> Whenever I discuss this issue, I generally fall back on the analogy of
> a legal contract, where it would be frightening to have to ask the
> company working
> for you to give you "today's contract," which they will extract from
> the current work in progress.
>
> This is essentially the story in Java and Eiffel with classes,
> where there is no separate spec, but you can
> extract the "contract" from the implementation.  Of course, Java has
> "interfaces" and Eiffel has "deferred classes," but there is a lot of
> code which is not just implementing one of these, and all of that
> code has no physically separate "contract" defining what it does.
>
> Not cool in my view.
>
> From anecdotal experience, the fact that Ada has separate package
> specs
> is very helpful in getting developers to focus on the notion of an
> interface.  With Java, that seems to be getting lost again.
>
> -Tucker Taft  stt@averstar.com




  parent reply	other threads:[~2000-11-15  0:00 UTC|newest]

Thread overview: 23+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2000-11-15  3:32 Another important feature of Ada James Rogers
2000-11-15  0:00 ` Mark T
2000-11-15  0:00   ` Tucker Taft
2000-11-15  0:00     ` Laurent Guerby
2000-11-15  0:00     ` Ed Falis [this message]
2000-11-17  0:00       ` Jean-Pierre Rosen
2000-11-18  0:00         ` Ed Falis
2000-11-18  0:00           ` pete
2000-11-19  0:00             ` Jean-Pierre Rosen
2000-11-19  0:00             ` James Rogers
2000-11-19  0:00               ` Ray Blaak
2000-11-20  2:39                 ` Robert Dewar
2000-11-20  7:43                   ` Ehud Lamm
2000-11-21  0:00                   ` Ray Blaak
2000-11-21  0:00                     ` Robert Dewar
2000-11-20  7:47                 ` Ehud Lamm
2000-11-19  0:00               ` David Starner
2000-11-18  0:00           ` Karel Thoenissen
2000-11-15  0:00 ` mjsilva
2000-11-15  0:00   ` Brian Rogoff
2000-11-17  0:00     ` Scott Ingram
2000-11-19  0:00 ` Lao Xiao Hai
2000-11-20  0:00 ` Michel Gauthier
replies disabled

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