comp.lang.ada
 help / color / mirror / Atom feed
From: Steve Whalen <swhalen@netcom.com>
Subject: Re: Time to join the fold?
Date: 1999/01/27
Date: 1999-01-27T00:00:00+00:00	[thread overview]
Message-ID: <swhalenF67p8v.HGq@netcom.com> (raw)
In-Reply-To: 78i8s4$hth$1@its.hooked.net

Mike Silva <mjsilva@jps.net> wrote:
[snip]
: Now for another question.  Some people have mentioned getting into the Ada
: "mind-set".  What are the main components of this mind-set?  What, IOW,
: should I pay special attention to in order to avoid simply writing "C in
: Ada" (whatever that might mean).  [snip]

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).

Here's what I mean by spending more time thinking about your data. As
assembler or C programmers, we tend to describe data to the compiler
just clearly enough so we can start coding.

I think a key difference of an Ada "mind-set", is that I now work much
harder to tell the compiler everything I know about the data, with as
much precision as I can, so I can get the compiler's strong typing
facilities working for me.

Even more importantly I want to benefit from thinking more deeply
about WHY some data should be a represented one way, instead of
another.

I've had programmers switching to Ada, ask for help in getting this
"mind-set". One thing that seemed to help, was when I assigned them to
take some data structure they were working with, and create as many
different representations of the data structure in Ada as they could
(i.e. compile & use them in a simple program).

Usually, at the end of the first few meetings, I'd send them back to
look at other ways to represent the data & use more features of the
language (i.e. go back and read about ...).  Once they had a fairly
complete set of the ways you could represent the data, I'd have them
explain why each one was a good way to represent the data for this
particular application, or why it was bad, or why it was best.

After a while, a "mind-set" starts to develop, and you learn how
important it is to describe your data to Ada properly, so Ada can help
you the most.  This "mind-set" gets reinforced when you find doing all
this extra (or more painstaking) work helps you locate deeper logic
flaws in your systems.
 
Bottom line: Getting the data structures and representations right
lets Ada help you build higher quality applications.

Steve
-- 
{===--------------------------------------------------------------===}
                Steve Whalen     swhalen@netcom.com
{===--------------------------------------------------------------===}




  parent reply	other threads:[~1999-01-27  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     ` robert_dewar
1999-02-02  0:00       ` news.oxy.com
1999-01-25  0:00     ` Pat Rogers
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               ` dennison
1999-02-02  0:00               ` nabbasi
1999-02-02  0:00                 ` dennison
1999-02-02  0:00                   ` robert_dewar
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?) Al Christians
1999-02-02  0:00                     ` dennison
1999-02-02  0:00               ` 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                     ` David C. Hoos, Sr.
1999-02-04  0:00                       ` news.oxy.com
1999-02-04  0:00                         ` G.S. Vigneault
1999-02-04  0:00                         ` Jean-Pierre Rosen
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                       ` 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                     ` Chuck Clark
1999-02-10  0:00                       ` Andreas Borchert
1999-02-04  0:00                     ` robert_dewar
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 [this message]
1999-02-01  0:00       ` Robert I. Eachus
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