From: bdubbs@cs.tamu.edu (Bruce Dubbs)
Newsgroups: comp.os.os2.advocacy
Subject: Re: A radical idea
Date: 10 Jan 1993 21:45:39 GMT
Organization: Computer Science Department, Texas A&M University
NNTP-Posting-Host: neuron.tamu.edu

In article <726685274.AA00000@blkcat.UUCP> Kurt.Westerfeld@f347.n109.z1.fidonet.org (Kurt Westerfeld) writes:
|RA> out there hear this:  Goverment can produce GREAT software-- 
|RA> ADA is far superior 
|RA> to any bastard hack like C or C++ that AT&T (a private  
|RA> industry) ever developed! 
| 
|I have NO experience with ADA; however, my experience with other 
|seasoned programmers from the DC area is that ADA is much like the 
|United States government, in that it is a large language that takes you 
|a long time in to get something done.  Does this statement hold any 
|truth? 

Not very much.  First a minor point.  Ada is named for Lady Ada
Lovelace, assistant to Charles Babbage and generally thought of as the
first programmer.  Ada therefore is a name not an acronym.  ADA (all
caps) is inappropriate.

Ada is a procedural language.  As such, it has the three major
constructs of all procedural languages: sequence, looping, and
selection.  Function and subroutine call are essentially the same as
in FORTRAN, C, Pascal, and PL/I.

The problems a lot of people have is that it has very strong typing.
In other words, a character is a character and not as number.  For
instance, the equivalent to the C code:

  char c;
  c = 'a';
  c = c + 1;

is not permitted in Ada.  You can't mix numeric and character
operations. 

The purpose behind this is to attempt to make the programmer say what
is intended and not use intrinsic characteristics that underlie less
strict languages.

In providing the checks on the programmer, Ada compilers have to do a
lot of checking that other compilers do not.  This makes Ada compilers
slower than other language compilers.  Additionally, there are run
time checks that add code and make executables larger and slower than
other language equivalents.  These issues are getting better as the
compilers mature, but still are generally slower than the equivalent C
compiler.  

The main issues, however, are not how difficult things are made for
the programmer, but how reliable the software is and how well the
intentions of the original programmer are communicated to the
maintainer. 

|ADA also happens to be designed by committee.  I know for a fact that 
|this NEVER works with software.  The best software is developed by lone 
|wolf or small teams. 

But a lone wolf or a small team cannot produce a 10 million line set
of programs as some large government programs are.  Usually these
types of programs are embedded in hardware with real-time
impilcations.  Software process paradigms that work for small or
medium programs do not scale up well to large or very large software
efforts. 

| 
|I'd just like to hear some thoughts on this issue. 

I have heard that the government has contracted with the Free Software
Foundation to produce GNU Ada.  If true, I believe Ada will become a
lot more popular than it is.

   -- Bruce


--
Bruce Dubbs                   |  Oxymorons of note:
bdubbs@neuron.tamu.edu        |  Honest Politician, Political Science,
                              |  Scrupulous Lawyer
Newsgroups: comp.os.os2.advocacy