[GAP] advice on Ada in general programming languages course

Marius Amado Alves amado.alves at netcabo.pt
Thu Apr 21 16:54:58 CEST 2005


Robert Dewar's suggestion (avionics, television) is good, but keep it 
short, as it is completely "hands off" material, and programming in the 
big. To hook students you need a "hands on" approach, and programming 
in the small.

Be sure to convey the factoid that Ada cuts down debugging effort by 
one order of magnitude in relation to the C family, even in programming 
in the small.

Of your ideas, implementing a subset of Prolog, probably Datalog, 
sounds the best to me.

Writing an Ada compiler doesn't cut it because Ada is too big, so you 
need to select a fragment, and it's very hard to select an Ada fragment 
for this, and any decent Ada fragment is still too complex.

A LISP fragment is simpler to select and implement. But motivation?

Other ideas:

(1) a web server, probably using AWS, and certainly starring Ada 
concurrency features (tasks, protected objects)

(2) a database system, maybe in connection with (1)

(3) a persistent version of Ada.Containers, or of a subset thereof, 
maybe as a way to realise the storage component of (2)

This may link to existing research, namely by myself, paper "A Theory 
of Persistent Containers and its Application to Ada" in Ada-Europe 2004 
(a copy available at softdevelcoop.org/marius/paper26final.ps.zip), see 
also SCOPE at www.liacc.up.pt/~maa/containers, or Mneson at 
www.liacc.up.pt/~maa/mneson (a bit outdated there, but I have a more 
advanced version that I can publish if there's interest).

(4) a distributed multiplayer game, using the DSA



More information about the GAP mailing list