Re: ADA Popularity Discussion Request

From: Ed Falis (falis_at_verizon.net)
Date: 08/17/04


Date: Mon, 16 Aug 2004 22:26:33 GMT

On 16 Aug 2004 14:09:41 -0700, Keith H Duggar <duggar@mit.edu> wrote:

Keith,

I'll take a shot at it, though understand this is just my opinion.
(However, I've been in the compiler and real-time executive side of the
business since 1981).

> "Ada was an experiment that failed. It was specified in such a way
> that it's hard to get adequate performance. So a critical mass of
> users and vendors never materialized. Now we see people devoting more
> energy to making C/C++ safer for programming large systems."

> Can any of you help me understand the details behind what he
> stated? Was it difficult to write compilers that gave good
> performance? Was the language specification too complex or
> difficult to implement?

The language was not specified in such a way that good performance
couldn't be achieved. But at the time (early 80's), it was ambitious
enough that it went out onto the bleeding edge of implementation
techniques. It tried to work at a level of abstraction that was a bit
pressing for the HW resources of the day, and tried to solve software
development problems that other languages did not. The compiler itself
went way beyond the usual expectations for compilers of the time in
detecting semantic problems in applications.

That said, you would be hard-pressed to find significant performance
differences from C++ in areas where they overlap. (There are a number of
language-defined capabilities in Ada that are addressed by libraries in
C++, or which fall outside the standard of the latter - and less so,
vice-versa).

> Or are there simply missing features that preclude some
> efficient coding idioms (does Ada have pointers?). I'm
> very ignorant when it comes to Ada so please forgive these
> newbie questions.

Ada has pointers, but the abstraction is a bit "safer" / "more restricted"
than in C or in C++ - not too different from Java, which appears to have
been influenced by many of the ideas in Ada.

Ada was an attempt to summarize best practice at the time it was
designed. It's still a beautiful language, and was much improved by its
1995 revision. It is also in the process of a current revision, which
should finalize next year.

Check it out further - like many recent newcomers, you may find yourself
becoming an aficionado.

You can see, of course, that I consider your "expert"'s opinion to be
biased and inaccurate.

- Ed

-- 
"When I was a kid, I wanted to grow up to be a wise man. Somehow, I just  
turned out to be a wise guy".


Relevant Pages

  • Re: Teaching new tricks to an old dog (C++ -->Ada)
    ... > no time there was a fully compiant C compiler available. ... Let's address the Ada side first. ... compiler for C, Ada, or any other language. ... Ada certainly provides facilities useful for writing libraries, ...
    (comp.lang.ada)
  • Re: Teaching new tricks to an old dog (C++ -->Ada)
    ... > no time there was a fully compiant C compiler available. ... Let's address the Ada side first. ... compiler for C, Ada, or any other language. ... Ada certainly provides facilities useful for writing libraries, ...
    (comp.lang.cpp)
  • Re: Current status of Ada?
    ... learning and using this great language. ... The reason why compilers maker can't make their compiler totally free ... I agree with you that most of the links you can find on Ada websites ... AdaCore has contributed a free gnat compiler to ...
    (comp.lang.ada)
  • Re: ADA Popularity Discussion Request
    ... other features, if you want mathematical precision, Ada can give it to you. ... It is certainly not as big a language as I think it ... compiler writers didn't thoroughly understand. ... So the efficiency thing kind of came about because of bad initial ...
    (comp.lang.ada)
  • Re: 7E7 Flight Controls Electronics
    ... Given that people had choices and Ada ... the 800 or so programming languages in use by the DoD, ... DoD1 was expected to provide a 'language of last resort', ... need modifications to a compiler to support particular requirements, ...
    (comp.lang.ada)