comp.lang.ada
 help / color / mirror / Atom feed
From: mfb@mbunix.mitre.org (Michael F Brenner)
Subject: Re: new programmer wondering what to learn
Date: 1997/05/27
Date: 1997-05-27T00:00:00+00:00	[thread overview]
Message-ID: <5mflcq$30v@top.mitre.org> (raw)
In-Reply-To: 97052710151645@psavax.pwfl.com






The mail reader has asked me why I said that Ada includes 
configuration management. THank you for asking. Let me make
up a good one. No, I mean ....

The definition of CM is having control over your baseline, 
including three particular aspects of the baseline: the parts
themselves, the changes to those parts, and the change requests
that induced those changes. Ada is a standard for generating code
in accordance with a time controlled configuration management
scheme that prevents mismatches in the changed parts, using a
particular method of packaging those parts which is superior
to the packaging in most other computer languages. Thus it
contributes to the first two aspects of CM control: control of the
parts themselves and the changes to those parts. It does not
contribute much to control over change requests. In addition,
since it includes within the language many solutions to problems
which before Ada often were solved by octal patches, Ada reduces
the number of patches, which reduces the number of bugs, the
number of parts, and the number of mismatches between patched
code and actual object code. Finally, in a totally source code
system there will be no requirement to store the object code
files at all, reducing the number of configured files by about
half. Prior to the gnat age (PTTGA), Ada had a very great
contribution toconfiguration management which gnat eliminated,
which was a built-in method of delivering an entire system in
a single text file, in the correct compilation order, ready to
compile and link. With gnat, we must use and external tool to
configure the parts list, which takes more tool money and labor
money. Luckilly, tools which work most of the time are included
with gnat, namely gnatchop and gnatmake. The configuration
nightmare introduced by gnat/gnatchop/gnatmake is not the
startling increase in manual labor required to externally 
control the source code in different external files, nor the
infamous k8-name-overlap problems (try compiling the interrupt
handler provided by Alsys), nor the bugs in gnatmake which 
are always to be fixed in the next release, but rather the
loss of the ability to configure multiple bodies for a single
package. Before gnat we did this by strategically placing the
alternate bodies mixed in with linkage pragmas in that single
file. Now, we trade the advantages of gnat for a reduction
in configuration management, and the inability to control
within the compiler, the multiple package bodies needed for
a single package. Tradeoffs like this are common in certain
areas.







  parent reply	other threads:[~1997-05-27  0:00 UTC|newest]

Thread overview: 10+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
1997-05-27  0:00 new programmer wondering what to learn Marin David Condic, 561.796.8997, M/S 731-93
1997-05-27  0:00 ` Robert Dewar
1997-05-27  0:00 ` Michael F Brenner [this message]
1997-05-28  0:00   ` Robert Dewar
  -- strict thread matches above, loose matches on Subject: below --
1997-05-30  0:00 Marin David Condic, 561.796.8997, M/S 731-93
1997-05-30  0:00 ` Robert Dewar
1997-05-30  0:00 Marin David Condic, 561.796.8997, M/S 731-93
1997-05-23  0:00 Peter Hermann
1997-05-23  0:00 ` Michael F Brenner
1997-05-23  0:00 ` Samuel A. Mize
replies disabled

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