comp.lang.ada
 help / color / mirror / Atom feed
From: eachus@spectre.mitre.org (Robert I. Eachus)
Subject: Re: Time to join the fold?
Date: 1999/02/01
Date: 1999-02-01T00:00:00+00:00	[thread overview]
Message-ID: <EACHUS.99Feb1154518@spectre.mitre.org> (raw)
In-Reply-To: swhalenF67p8v.HGq@netcom.com

In article <swhalenF67p8v.HGq@netcom.com> Steve Whalen <swhalen@netcom.com> writes:

 > Spend more time thinking about your application's data, and your
 > application "as data" (by "application as data" I mean revisit program
 > logic, and see if it can be better represented in a "soft" data
 > structure somewhere)...
 > Even more importantly I want to benefit from thinking more deeply
 > about WHY some data should be a represented one way, instead of
 > another...
 > Bottom line: Getting the data structures and representations right
 > lets Ada help you build higher quality applications...

   Amen!  I find that effort devoted to the package specifications,
which contain most of the data types, either exported or in the private
part, is the key part of programming in Ada.  Once you know which
types should be used where and why, writing the code is easy.

   But there is another part to Ada think.  In many languages you are
looking for a model which best fits the solution.  In Ada it is almost
always a big win to fit the model to the problem space.  Generics and
generic instantiation can be used to map a solution onto your problem.

   To take one simple example, if you are going to sort a list the
ordering relation is a generic argument that can be a quite complex
function of the data.  If the sort order changes, you change that
function, not the data.  But if your requirements change in such a way
that you need to represent additional aspects of reality in the data,
this requires additional modifications.

   Hmmm... Not quite simple expressed that way.  Say you have a
bibliography.  The effort required to sort by author, title, Library
of Congress number, or even author's middle name, is small, assuming
that all are present in the data.  Your problem space is a
bibliography, the sort package's problem space is lists to be sorted,
and all you have to do is provide the glue.



--

					Robert I. Eachus

with Standard_Disclaimer;
use  Standard_Disclaimer;
function Message (Text: in Clever_Ideas) return Better_Ideas is...




  reply	other threads:[~1999-02-01  0:00 UTC|newest]

Thread overview: 52+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
1999-01-22  0:00 Time to join the fold? Mike Silva
1999-01-22  0:00 ` Tucker Taft
1999-01-25  0:00   ` Mike Silva
1999-01-25  0:00     ` Pat Rogers
1999-01-25  0:00     ` robert_dewar
1999-02-02  0:00       ` news.oxy.com
1999-01-25  0:00     ` dennison
1999-01-31  0:00       ` Matthew Heaney
1999-02-01  0:00         ` Dynamicly declaring arrays (was: Time to join the fold?) dennison
1999-02-01  0:00           ` Larry Kilgallen
1999-02-01  0:00           ` Matthew Heaney
1999-02-02  0:00           ` robert_dewar
1999-02-02  0:00             ` news.oxy.com
1999-02-02  0:00               ` nabbasi
1999-02-02  0:00                 ` dennison
1999-02-02  0:00                   ` robert_dewar
1999-02-02  0:00                     ` dennison
1999-02-02  0:00                     ` Al Christians
1999-02-02  0:00                     ` William Clodius
1999-02-03  0:00                       ` Robert A Duff
1999-02-03  0:00                         ` Modula 2 William Clodius
1999-02-02  0:00               ` Dynamicly declaring arrays (was: Time to join the fold?) robert_dewar
1999-02-03  0:00                 ` news.oxy.com
1999-02-03  0:00                   ` Robert I. Eachus
1999-02-04  0:00                   ` M2 history - relations to Ada news.oxy.com
1999-02-04  0:00                     ` Chuck Clark
1999-02-10  0:00                       ` Andreas Borchert
1999-02-04  0:00                     ` David C. Hoos, Sr.
1999-02-04  0:00                       ` news.oxy.com
1999-02-04  0:00                         ` Jean-Pierre Rosen
1999-02-04  0:00                         ` G.S. Vigneault
1999-02-04  0:00                       ` Aron Felix Gurski
1999-02-05  0:00                         ` Robert Lanziner-Furtenbach
1999-02-04  0:00                           ` David C. Hoos, Sr.
1999-02-05  0:00                           ` Robert Lanziner-Furtenbach
1999-02-04  0:00                       ` Chris Morgan
1999-02-04  0:00                         ` Jerry van Dijk
1999-02-05  0:00                         ` Grant Edwards
1999-02-04  0:00                     ` robert_dewar
1999-02-02  0:00               ` Dynamicly declaring arrays (was: Time to join the fold?) dennison
1999-01-26  0:00     ` Time to join the fold? Jean-Pierre Rosen
1999-01-26  0:00       ` dennison
1999-01-26  0:00         ` Pascal MALAISE
1999-01-27  0:00     ` Steve Whalen
1999-02-01  0:00       ` Robert I. Eachus [this message]
1999-01-23  0:00 ` Steve Whalen
1999-01-23  0:00   ` Tom Moran
1999-01-24  0:00     ` Steve Whalen
1999-01-24  0:00       ` Tom Moran
1999-01-23  0:00 ` Matthew Heaney
1999-01-23  0:00   ` Tom Moran
1999-01-24  0:00 ` Larry Kilgallen
replies disabled

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