[GAP] advice on Ada in general programming languages course

Alejandro R. Mosteo alejandro at mosteo.com
Thu Apr 21 16:28:16 CEST 2005


Robert Dewar wrote:
> Ted Baker wrote:
> 
>> Dear GAP discussion list members:
>>
>> I'm looking for ideas on how to "hook" students on Ada in the
>> course I am scheduled to teach next fall.  In particular, I am
>> interested in hearing if anyone else has taught a course like this
>> before and how they worked Ada into it, and whether you are aware
>> of any reference materials and Ada software artifacts or tools
>> that would fit this course.  I am also hearing comments/criticisms
>> on some of the ideas I have been considedring.
> 
> 
> One idea is to introduce the notion of safety-critical programming
> and certification, and talk a bit about air traffic control, avionics
> programs (most students will have flown on a Boeing-777, which is an
> all-Ada plane, and Ada will play a part in both the dream liner (787)
> and the new Airbus), so Ada naturally comes up, and you then have an
> opportunity to discuss why a language like Ada is particularly relevant
> when lives are at stake. The Air Traffic Control systems in much of the
> world, including Europe and AUstralia are all in Ada.
> 
> Ada is also used by Canal Plus, the "French HBO". That's not a safety
> critical program, but they do require very high reliability, they would
> have a lot of angry customers if the system went down in the middle of
> Lord of the Rings :-)

I would also stress the importance of specifications versus 
implementation. The fact that all you need to look is the package specs 
is of great importance in large projects. Also the fact that the specs 
are a principal element of the lenguage, not a hack or optional feature.

In general, I'd say that Ada is easier to sell because of the "big 
picture" features (tasking too...), since at first it is somewhat harder 
to get into it than other languages, because unexpected exceptions, 
verbosity, explicit instantiation...

There are a some obstacles in teaching Ada to novices that I find it's 
important to alleviate as fast as possible: string types are a glaring 
example (provide some package based around unbounded strings). These 
kind of things are at first completely ackwards to people used to 
scripting/gc languages. While is important to understand properly the 
unconstrained types, I see no point in doing exhaustive manipulation of 
character buffers when doing I/O at first. That's just boring and 
painful. At least that's what I remember from my Ada (83) origins.

Kind regards,

A. Mosteo.


More information about the GAP mailing list