comp.lang.ada
 help / color / mirror / Atom feed
From: <adaworks@sbcglobal.net>
Subject: Re: Suggestions for topics in an Ada course?
Date: Mon, 12 Nov 2007 17:38:38 GMT
Date: 2007-11-12T17:38:38+00:00	[thread overview]
Message-ID: <yc0_i.20310$lD6.18442@newssvr27.news.prodigy.net> (raw)
In-Reply-To: 1194883941.855761.192050@22g2000hsm.googlegroups.com


"Hyman Rosen" <hyman.rosen@gmail.com> wrote in message 
news:1194883941.855761.192050@22g2000hsm.googlegroups.com...
>
> Ada's type safety, modules, and visibilty rules are not all that
> different from those in languages like C++ or Java. Sure, it may be the case
> that Ada's way is better or safer (not knowing Ada well, I can't say for
> sure)

The visibility rules of Ada, along with the type system, is far more strict and
much more thoroughly defined than in C++ or Java.   In addition, the rules
for access types (pointers) prevent many of the accidents that can occur
with C or C++.    These are really not arguable if one knows enough about
all three languages.

Ada is also structurally unique.   I recently read a paper on separate 
compilation
written by some scholars from Europe in which they went on about C++ and
Java, but completely overlooked Ada.   I wrote a short essay on the subject
and sent it to them, receiving a reply to the effect, "We didn't know ... "  The
architecture of a large-scale Ada program is much easier to follow than that
of a C++ program, and the production C++ I have seen is usually pretty hard
to follow.

As we all know, the real test of the value of a programming language is not
the ease with which we can compose programs, but the ease with which we
can "maintain" them.   Of course, we don't really maintain software in the
sense of the physical world.  Rather, we adapt it to changing circumstances.
The structure of Ada, the readability of the programs, largely due to the
structural model and the rules for design and construction, seem to make Ada
easier to understand by someone who has never seen the code before.

Granted, someone could write readable C++ code, and some people do. But
both C++ and Java seem to encourage shortcuts that result in code that is
all but obscure.   One of my favorite columns in C++ Report was that last
page, "Obfuscated C++."    It was great fun trying to figure out the solution
from one issue to another.  I cannot imagine anyone writing a column called
"Obfuscated Ada."

Finally, my impression of C++, after many years of having to deal with it in
academia and industry is that it is highly error-prone.    The ease with which
a C++ programmer can introduce difficult to spot mistakes is far greater than
I have ever seen with Ada programmers of similar skill and education.  So I
have often wondered why anyone using a language that is inherently
error-prone would expect a result that is error-free.

The choice of C++ for certain tasks is not due to the superiority of the
language, but due to the fact that there are more libraries for those
tasks in C++, and a larger base of programmers experienced in C++.
The popularity of C++ owes little to its being a better language, but
more to the circumstances of the industry when it was introduced, and
not a little to the incompetence of those charged with managing the
Ada mandate when it was in place.

Richard Riehle 





  parent reply	other threads:[~2007-11-12 17:38 UTC|newest]

Thread overview: 30+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2007-11-11 16:09 Suggestions for topics in an Ada course? Peter C. Chapin
2007-11-11 17:15 ` Jeffrey Creem
2007-11-11 18:29   ` Peter C. Chapin
2007-11-11 19:32 ` Larry Kilgallen
2007-11-12 11:33   ` Peter C. Chapin
2007-11-12  0:02 ` Ed Falis
2007-11-12 11:44   ` Peter C. Chapin
2007-11-12  0:59 ` Steve
2007-11-12  4:29   ` wilson
2007-11-12 11:39     ` Peter C. Chapin
2007-11-12 13:34       ` Brian Drummond
2007-11-13  3:31         ` Peter C. Chapin
2007-11-13 13:50           ` Maciej Sobczak
2007-11-13 13:53           ` Brian Drummond
2007-11-12  7:42   ` adaworks
2007-11-12 11:40     ` Peter C. Chapin
2007-11-12 11:57   ` Stefan Lucks
2007-11-12 11:54 ` Stefan Lucks
2007-11-13  3:27   ` Peter C. Chapin
2007-11-12 11:56 ` anon
2007-11-12 15:53   ` John McCormick
2007-11-12 16:12     ` Hyman Rosen
2007-11-12 16:13       ` Hyman Rosen
2007-11-12 17:38       ` adaworks [this message]
2007-11-12 18:12         ` Hyman Rosen
2007-11-12 17:45     ` adaworks
2007-11-12 20:45       ` Jerry Petrey
2007-11-13  3:33     ` Peter C. Chapin
2007-11-13  5:17       ` jimmaureenrogers
2007-11-16 15:48 ` Marco
replies disabled

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