[comp.lang.ada] Hopper's Errors

larry@JPL-VLSI.ARPA (03/19/87)

--
It's unfortunate that even iconoclastic Grace Hopper has fallen prey to the 
two greatest Ada myths: that it's tremendously complex, and primarily a 
real-time programming language.

Complexity: the view of an Ada compiler writer (which has been the main one
until recently) is very different from that of an Ada user.  The compiler
writer has to focus on the interior of Ada, which is complex, but the user
sees mostly its exterior.  After becoming moderately familiar with Ada it
becomes, in some ways, actually easier to use than older languages.  That's
because it's much easier in Ada to design systems as black boxes the way
hardware engineers do, and because of the greater automation (primarily
type-checking) Ada compilers provide.  It's interesting that AT&T has
sponsored a follow-on to C (C++) which has several analogs of Ada features. 

Real-time: the very features that are most needed for real-time programming
are optional in Ada, and there are several that are not available at all. 
Whether the Ada designers were simply ignorant of real-time needs or ignored
them while paying lip-service to them, is of interest primarily to
historians.  The fact is that Ada is a good general-purpose programming
language, designed so it can be extended without changing the standard into
special-purpose areas such as those CoBOL is used for.  Further, it can do a
better job because Ada's abstraction features lets application programmers
think in terms of customers and sales rather than data and subprograms. 

              Larry @ jpl-vlsi.arpa