> Pro: Supports and encourages highly readable, maintainable code.
> Con: Verbose.
I disagree. Well-written C is almost as readable as typical Ada, and
neither is "verbose." To me, "verbose" Ada is where the programmer thinks
a "meaningful name" for a variable or loop label is a full English
sentence. The result makes the containing code almost as hard to read as
most C code.
> Pro: Parallel constructs built in to the language.
> Con: Tasking code is large.
Is this really true? And even if it is, how much smaller is code in
another language containing calls to "outside" multi-threading libraries?
> 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: Modular nature encourages system-wide design.
> >Con: Difficult to hack together a prototype.
> Sorry but this is just plain wrong. I "hack together" prototypes in Ada all
> the time (good thing I'm not a developer here! ;-) and I find that the
> modularity that Ada encourages means it's more likely that I'll find
> reusable bits & pieces here and there ....
It has taken (is taking) me longer than it should have to learn perl, TCL,
Java, etc. because it was so easy to accomplish many of my assignments in
Ada. I had no outside pressure to actually write code in other languages.
> Pro: Strict bounds rules allow compiler to build in automatic
> "debugging" software.
> Con: Unoptimized code is large and slow.
Is it really? Empirical evidence?