[net.lang.ada] Error-prone features of Ada

goodenou@wanginst.UUCP (John Goodenough) (08/02/85)

I'm trying to collect data on error-prone features of Ada.  In particular, I
would like to hear about errors made by inexperienced Ada programmers (when
the errors seem to be caused by features of the language rather than just
inexperience on the part of the programmer).  I'm also interested in hearing
about errors that even more experienced programmers find hard to avoid.  For
example, even experienced Ada programmers, when writing a generic procedure,
sometimes write:

	generic
	    ...
	procedure GP is ...	-- illegal

People make this error because non-generic procedures can be declared directly
using a body; generic procedures must be declared with a subprogram
specification.

The information I receive about these errors will be used in considering
possible changes to Ada in a future revision of the language.  The
information will also be useful to those developing teaching materials for
Ada or actually teaching Ada.  If I get a good response, I'll report back in
a month or so noting the kinds of errors reported and the number of people
reporting each kind of error.  As I receive additional info, I'll continue to
report back periodically.  Send me a message whenever you encounter one of
these problems, since this will be a continuing project.

Personal experiences, or observations while teaching Ada, are of greatest
interest.  Speculation about what might be an error-prone construct is
not what I'm interested in; since people are beginning to use Ada now, real
experiences will be the most instructive.

Since the errors people make tend to vary depending on what languages they
know before learning Ada, this will be useful background information.

Here's what I'd like to see (ideally) in a usage error report:

	.  a description of the kind of error, including a small example,
	   e.g., like the one I gave for the generic subprogram error;
	.  the programming language background of the programmer(s) that make
	   this error (when relevant);
	.  a statement of whether the error tends to be made just by
	   beginning Ada programmers;
	.  if not obvious, why you think people tend to make the kind of error
	   you are reporting.

If providing all this information looks like too much work, I'd be happy 
to receive just what you find convenient to provide.

John B. Goodenough                           goodenou@wanginst        (CSNET)
Wang Institute of Graduate Studies           decvax!wanginst!goodenou (UUCP)
Tyng Road, Tyngsboro, MA 01879               617-649-9731
(at Wang Institute until 6/1/85)