[comp.lang.ada] Commercialization of Ada

neff@Shasta.STANFORD.EDU (Randy Neff) (03/02/88)

1.  Ada compilers are quite expensive, compared to other production quality
    compilers in use.  ie  C is free with Unix, GNU C is free, C for PC <$100.
2.  Ada compilers have runtime fees for their runtime library.
3.  Ada compilers generate worse code than C, even with full PRAGMA SUPPRESS
    and current optimizers.
4.  Ada compilers are slow to compile.
5.  Ada does not interface cleanly with windowing systems, like SunView or
    X11;  it takes alot of C code even to interface to curses.
6.  Ada compilers are still bug ridden;  a new release of a compiler may
    screw up all of your working programs (tis a fact, 3 out of 3 programs
    suddenly had illegal instructions, segmentation faults)
    A new compiler release means that you have to recompile everything,
    INCLUDING any third party libraries you may have purchased ( you did get 
    source code, didn't you?)
7.  Practically no one is being taught Ada at the University level, compared to
    Pascal or C.   (a professor teaching a parallel computation course required
    C programs; refused Ada programs for the homework, he didn't know Ada)
8.  In the programming language research community, Ada doesn't make it because
    it is not object oriented.

Ada will make it when the compiler is 'as good' as C compilers (including
symbolic debuggers, libraries, supporting X, etc.) and costs about $100.

ALLEN_S%ASD.SPAN@STAR.STANFORD.EDU (Stanley Roger Allen, AdaDude) (03/08/88)

Randy Neff's observations about the commercialization of Ada ignore a
number of special forces in the marketplace and some technical issues 
that sharply differentiate the Ada and C market.

The introduction of a serious Ada compiler is a significant commitment
on the part of a vendor, while for C it is not so significant.  This
is the result of technical and market issues. 

The lead time in developing an Ada compiler is very much longer than
that for a typical C compiler -- a significant portion of a C compiler
can be implemented in a single semester undergraduate compiler course.
I doubt that the same could be said of Ada.  The Ada market is also a
tough place to enter, compared to the C market -- the Ada validation
process alone costs about $100,000 (the last time I heard).  But this 
pales in comparison with the long-term commitment that Ada vendors are 
supposed to make (because of the market again) to continue to support 
and improve their product; every year they must re-validate on a more 
difficult validation test suite, or kiss goodbye the hope that their 
compiler will be used on government contracts (currently the mainstay 
of Ada business).  For this reason, some initial vendors have removed 
themselves from the Ada market.

Another, more obvious, difference between the Ada and C market is the 
age difference in the technology: C has been around since 1971, and 
the oldest Ada compilers are 1983.  Remember that until about 1983/4, 
when Borland came out with its inexpensive Pascal, almost all 
microcomputer compilers were $400+.  Already we are getting 
microcomputer Ada (which everyone said could not be done in the first 
place) for $100.

Finally, the Ada market is different than the C market because Ada is
at root a different technology than that of C.  We should expect some
differences in the way the technology is adopted by the "consumers"
out there.  The reason C is so popular for microcomputer developers is
because C was designed for low-level hacking.  Ada was designed for
quality software engineering.  The fact that Ada is inherently
difficult to learn and to program in may be its best feature -- it
discourages those who prefer to code before thinking.  Should the
amateur expect to pick up an Ada compiler for $100 and begin to code
"blindly" as usual, he will be sorely disappointed.  We have to ask
the question: when his code finally works will it really be worth
anything from a software quality perspective?  Do we really want to
create legions of bad Ada programmers, just as we currently have
legions of bad C and Pascal programmers? 

Actually, I don't doubt that his skills will improve with time, and 
probably will end up better off with Ada than with C, but the deep 
issue of software quality will probably not be resolved until some 
kind of professional status is instituted for software engineering.

As for the other issues discussed in Mr. Neff's letter, only time will
tell.  The current debates comparing C and Ada have interesting
parallels in computing history -- the same arguments now used to
deride Ada in favor of C were used once to deride FORTRAN in favor of
assembly language: the higher level language is too slow to compile,
the object code is of lower quality, we already have tons of
libraries, I feel I have "more control" in the lower level language,
etc., etc., etc... 


			Stanley Allen
			allen_s%asd.span@Jpl-VLSI.arpa