[comp.lang.ada] Globals + Texts + Simplicity

larry@JPL-VLSI.ARPA (12/30/86)

GLOBAL DATA AND SW ENG  The only reason I can see for Ada versions of ForTran
                        COMMON or HAL/S COMPOOLS is for quick one-for-one
translations of code from ForTran or HAL/S to Ada.  If one needs global data
there are better ways to do it.  Norm Cohen discusses this at length (with
appropriate cautions) in his _Ada_as_a_Second_Language_.  See especially
pages 293-7 and 370-3. 

There are times, of course, when global data is an optimal solution to a 
problem.  It's the nature of any kind of engineering that trade-offs always 
have to be made.  But the number of people with SW responsibilities who 
don't have any SW engineering knowledge is a national disgrace shared 
equally by education and industry.  I find it sourly ironic that the 
military--supposedly the least foward-looking, "with-it" American 
institution--is the biggest supporter of SW engineering.

BEGINNING TEXTS         Cohen's book has two notably useful features.  All 
                        chapters have a Summary section; some of the more
difficult ones have a Details section which can be skipped by those who need
a less complete discussion of the topic.  Later one can make a second pass
over the book, reading the details sections for a more complete understanding. 

Further, there's a lot of pragmatic advice about how to use language 
features.   This makes for a book of 800+ pages, but the advice (and the 
examples and clear writing) actually makes it easier to read than shorter 
books, because it gives a context for the parts of Ada.

ADA A SIMPLE LANGUAGE?  Ed made a comment that reminded me of what I consider 
                        a myth: Ada's complexity.  We always over-estimate
the complexity of a familiar language and under-estimate the one(s) in which
we're expert.  (The fish-in-water syndrome.) And until the last year or two
there weren't very many validated compilers around for people to use.  So the
viewpoint we got was that of the designers or implementors, which is very
different from (what is becoming) the typical user. 

I suspect that in a few more years we'll be hearing a new cliche: that Ada
is SIMPLER to use than previous languages.  For, after internalizing the Ada
mind-set and developing a reflexive mastery of its syntax, the user can
forget about bits, bytes, subprograms, and data (at least until it becomes
time to do trade-offs and optimizations).  Instead, s/he'll write programs
using elements in the problem domain. 
                                            Larry @ jpl-vlsi.arpa

4526P@NAVPGS.BITNET ("LT Scott A. Norton, USN") (01/03/87)

----------------------------Original message----------------------------

> I find it sourly ironic that the
> military--supposedly the least foward-looking, "with-it" American
> institution--is the biggest supporter of SW engineering.

It may be ironic, but it should not be suprising.  My last tour of duty was
on the 20 year old cruiser Harry E. Yarnell.  This ship's tactical data system
program was at least ten years old, and had components that were older than the
ship.  In ten years of maintenance, you pay for poorly engineered software over
and over.

Because the military can not live on the cutting edge of technology, but must
use systems that last twenty years or more, we require better engineering in
software, as well as in the supporting hardware.

Lt Scott A. Norton, USN
Naval Postgraduate School
Monterey, CA  93950-5018
<4526P@NAVPGS.BITNET>