When it comes to enumerating the pros and cons of Ada (not to be confused with ADA which stands for "Another Dumb Acronym"); I like to pair them up in team fashion:
Pro: Supports and encourages highly readable, maintainable code.
Con: Verbose.
Pro: Parallel constructs built in to the language.
Con: Tasking code is large.
Pro: Strong type checking prevents careless errors.
Con: Can't assign any variable to any variable.
Pro: Dependency rules prevent module interface version mismatch.
Con: Changes at a low level cause high impact for recompilation.
Pro: Modular nature encourages system-wide design.
Con: Difficult to hack together a prototype.
Pro: Strict bounds rules allow compiler to build in automatic
"debugging" software.
Con: Unoptimized code is large and slow.
Pro: Language supports distinction between exceptional event processing
and normal code flow.
Con: Exception handling can be slow.
By now I think y'all get the point. For every "Con" someone has to say about Ada, there is a matching "Pro" for it; and vice versa.
Thank you for choosing Aonix as your provider of software solutions.
-- Keith Shillington
-- Manager, Customer Support for the Americas and Pacific Rim
-- Critical-Software Development Solutions
-- User Interface Management Solutions
-- (800) 97 AONIX [log in to unmask]