Newsgroups: comp.lang.ada
Path: utzoo!utgpu!news-server.csri.toronto.edu!rpi!think.com!linus!linus!linus!mbunix!emery
From: emery@Dr_No.mitre.org (David Emery)
Subject: Re: c++ vs ada results
In-Reply-To: andrewd@chook.adelaide.edu.au's message of 24 Jun 91 02:29:42 GMT
Message-ID: <EMERY.91Jun24100603@Dr_No.mitre.org>
Followup-To: comp.lang.ada
Sender: news@linus.mitre.org (News Service)
Nntp-Posting-Host: dr_no.mitre.org
Organization: The Mitre Corp., Bedford, MA.
References: <1991Jun12.164741.412@news.larc.nasa.gov> <1991Jun12.201740.16463@netcom.COM>
	<1991Jun16.041037.11606@kithrup.COM> <1991Jun18.041751.3740@netcom.COM>
	<1991Jun18.122812.18190@eua.ericsson.se>
	<3776@sirius.ucs.adelaide.edu.au>
Date: 24 Jun 91 10:06:03
Lines: 22

Ada makes the _Expression_ of a library design easier (packages are
such a nice mechanism for combining related things), but the
_Intellectual_ work of deciding what to include, what to exclude, how
to represent it, etc, is a (language-independent) hard problem.  It
takes a lot of experience and thought to get it right.

For instance, it's taken us 4 years of hard work to specify the IEEE
standard Ada Binding to POSIX (a very well constrained problem).  Much
of that time has been spent in "iterative prototyping" mode, where we
develop a proposal, and then analyze it from the perspective of the
various users, in an attempt to see if the semantics of the interface
are correct.  

One thing that we all knew, but our POSIX/Ada experience reinforced,
is that there's no substitute for practical experience when designing
interfaces.  You really have to have a good idea of how software is
written and how software goes together in order to write a good
interface/binding definition.  And, as we have also observed, once you
get the interface right, the implementation is _MUCH_ easier (often
it's simple).  

				dave
