> > 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.
I spent several years at Intergraph Corp. doing development support and several
years before that porting third party applications to Unix. From that
experience I find the term "Well Written C" to be somewhat of an oxymoron. Only
the most disciplined developers produced "well written C". They were few and
> > 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?
C++ support for multi-threading is not built in but requires special
platform specific libraries. It is no surprise that multi-threaded C++ code
does not follow any concept of small code.
I have seen one implementation of C that "provided" object oriented constructs.
The resulting code was larger than similar Ada or C++. So much for the
efficient code of C.
> > Pro: Strict bounds rules allow compiler to build in automatic
> > "debugging" software.
> > Con: Unoptimized code is large and slow.
This is compiler not language dependent. I have unoptimized Ada that runs as
fast as C. I have some optimized C that is slower that both unoptimized Ada or