comp.lang.ada
 help / color / mirror / Atom feed
From: "Randy Brukardt" <randy@rrsoftware.com>
Subject: Re: Interfaces.Shift_Left
Date: Tue, 20 Dec 2011 17:36:32 -0600
Date: 2011-12-20T17:36:32-06:00	[thread overview]
Message-ID: <jcr662$3o7$1@munin.nbi.dk> (raw)
In-Reply-To: 9lc6bqFfhrU1@mid.individual.net

"Niklas Holsti" <niklas.holsti@tidorum.invalid> wrote in message 
news:9lc6bqFfhrU1@mid.individual.net...
...
> Is that based on some survey of reasons why Ada is used? That would be 
> interesting. I agree with that ranking only for some Ada applications -- 
> the traditional embedded, bare-machine programs that access hardware 
> registers. Programs that deal with communication protocols may also 
> qualify. And even there, I would not put record representation clauses 
> close to the top of the 5 top reasons.

No, just my gut feeling. At lot of the things that make Ada unique aren't 
things that you really can sell to outsiders (that is, non-Ada users that 
might be interested in using Ada).

For instance, I find that the syntax of Ada has just the right level of 
verbosity (not so much as to be a pain, not so little as to allow one to 
write something other than what they meant to be legal). Most languages 
(especially C-based syntaxes) don't have enough. But I doubt I'm going to 
convince many others of that, at least not until they've had the experience 
of using Ada for a while.

Another truly valuable feature of Ada is the complete coverage rule for case 
statements, aggregates, and the like. The amount of time that it can save 
when adding a new kind of thing (enumeration literal, record component, 
etc.) is amazing. (As the compiler points out the places you've forgotten to 
change; errors of omission are by far the hardest to find.) But again, this 
is a tough sell until you've had the compiler find errors for you.

Most of the big picture things (like packages and generics) are available in 
other languages, and Ada's advantages with them are subtle (physical 
separation of interface and implementation; the contract model of 
generic) -- these are also not that easy to describe to potential users.

The net effect of all of these smallish things leads to a much bigger 
advantage when put together -- but there is nothing "sexy" about any of 
them. Representation clauses in general at least are easy to explain and 
almost everybody remembers times when they would have preferred that the 
compiler did the packing/unpacking of fields. So they make a good lead for 
the advantages of Ada.

                                      Randy.





  parent reply	other threads:[~2011-12-20 23:36 UTC|newest]

Thread overview: 22+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2011-12-12 22:30 Interfaces.Shift_Left awdorrin
2011-12-12 23:34 ` Interfaces.Shift_Left Simon Wright
2011-12-13  1:36   ` Interfaces.Shift_Left Adam Beneschan
2011-12-13 12:00 ` Interfaces.Shift_Left Brian Drummond
2011-12-13 13:15   ` Interfaces.Shift_Left awdorrin
2011-12-13 21:48     ` Interfaces.Shift_Left Randy Brukardt
2011-12-14 18:28       ` Interfaces.Shift_Left awdorrin
2011-12-14 22:49         ` Interfaces.Shift_Left Randy Brukardt
2011-12-15  9:51           ` Interfaces.Shift_Left Niklas Holsti
2011-12-16  0:23             ` Interfaces.Shift_Left Randy Brukardt
2011-12-18 20:47               ` Interfaces.Shift_Left Niklas Holsti
2011-12-20  0:38                 ` Interfaces.Shift_Left Randy Brukardt
2011-12-20  2:18                   ` Interfaces.Shift_Left Shark8
2011-12-20 10:08                   ` Interfaces.Shift_Left Dmitry A. Kazakov
2011-12-20 19:38                   ` Interfaces.Shift_Left Niklas Holsti
2011-12-20 20:46                     ` Interfaces.Shift_Left Niklas Holsti
2011-12-20 21:13                       ` Interfaces.Shift_Left Simon Wright
2011-12-20 21:08                     ` Interfaces.Shift_Left Simon Wright
2011-12-20 23:26                       ` Interfaces.Shift_Left Randy Brukardt
2011-12-20 23:36                     ` Randy Brukardt [this message]
2011-12-21  0:44                       ` Interfaces.Shift_Left Georg Bauhaus
2011-12-21  7:23                       ` Interfaces.Shift_Left AdaMagica
replies disabled

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