Talk:Ada (programming language)

This is an old revision of this page, as edited by Bobby D. Bryant (talk | contribs) at 23:40, 21 July 2003 (Why I removed the "Compiler Problems" section.). The present address (URL) is a permanent link to this revision, which may differ significantly from the current revision.

Moved comments here from main text. Reorganized into threads.--buzco


Really only used anymore in US Department of Defense stuff. Oh yeah, and Ada95, the most popular Ada compiler actually translates your code to C, then compiles the C. I love that.

----
Ada95 is not a compiler, it is a version of Ada, the most recent version, I believe. I am also skeptical of the idea that Ada is "really only used anymore" in the US DOD.
----
Do you mean GNAT (GNU Ada Translater) when writing "Ada95"? This is no translater to C any longer but a frontend to the GNU Compiler Collection, as the C or the Java frontends are. By the way, it is _not_ used only by DOD staff and it is a highly capable language. In contrast to the popular misbelief it produces rather fast code (comparable to C).
----
Make that C, C++, Forth, FORTRAN, Java, Objective C and Pascal front ends! May be others! --buzco
----
The team behind Gnat used in the beginning a proprietary Ada compiler and used that to build an compiler which implemented a subset of Ada big enough to support building itself. Now the team left that proprietary compiler in the dust. After that it was a simple matter of extending that they already have while using the base to build the next more evolved version.
Gnat until 3.11 or so (ca 1999) needed to generate a C stub for the sake of elaboration but that liability is no more !!
GNAT never was a Ada-to-C translator !
cfront was a c++-to-c translator !

Ada is used in a few compiler theory books because of its comprehensiveness and elegance.


Should there be a section on primary users of a language like ada and how their requirements affected the language?


Ada has some tastes of Pascal still but not one of the bad ones. --Janet Davis


(list of possible topics moved from main page) What about

  • how Ada tied into formal specification languages?
  • how Ada is very stongly typed
  • packages in Ada
  • concurrency support
  • real time/embedded system support ???
  • how Ada suffered from design by DOC committee/specifications and required super-fast hardware for compilation/debugging.
  • ?? others

I think the Steelman language requirements page would be better as part of this entry, or maybe a subpage, as it isn't really of interest except in the context of Ada. Anyone agree/disagree? --Matthew Woodcraft


I don't think the note re the Ariane 5 disaster is quite correct. As I understand it, the fault was the re-use of a part and its software, which had worked properly on the Ariane 4. However, the more powerful engines on the Ariane 5 gave a thrust/velocity/displacement that was out of the part's design range, and the part detected that fact -- correctly, according to its original design. But since it thought it had a number that failed the sanity check it went into debug mode -- again according to design -- and started dumping debug data onto the rocket's control bus. So unless my understanding of the problem is wrong, the problem was a simple failure to review a part's specifications, and nothing at all to do with the programming language or compilation switches. -- B.Bryant

That's basically my understanding of the situation, except that 'detected that fact' is a bit strong -- it seems that the error was a CPU-level floating point trap, with no high-level-language handler. The Ada task in question didn't actually do anything useful after takeoff, so if the exception hadn't been explicitly suppressed the rocket would have been safe.
Certainly that bit of the article could do with improvement, but some mention is probably appropriate in this article (if it were taken out someone would just add it in again). -- Matthew Woodcraft

Re: "design by DOC committee"

Ada was not "designed by committee", each version (Ada and Ada-95) had ONE designer that had final say on any feature or change to the language. Its design is far cleaner and more organized than many other languages. -- RTC 01:38 2 Jul 2003 (UTC)
True. The DOD's choice of Ada was the result of a competitive tendering process in which Ada beat the other contenders. The only role of a committee was to decide that it was better than the other proposed languages. -- Derek Ross

Re: "required super-fast hardware for compilation/debugging"

I added a section on the problems that the early compilers had and why. -- RTC 02:16 2 Jul 2003 (UTC)
Hmm, I never heard about Ada 80 and I discussed with lots of people involved in early Ada including Jean Ichbiah and people from the Ada/Ed project (first validated Ada compiler). Would you mind naming exactly the documents and compilers? Also point to document about elaboration issues? Thanks. Guerby 21:20 17 Jul 2003 (UTC)
I took the liberty of removing that entire section, not only because of Guerby's concerns, but because a quick search of the Web shows that the Ada Mandate was not signed into law until 1990, so it cannot be blamed for the quality of 1980-era compilers.
FWIW I have also heard mention that when Ada first came out it demanded things beyond then-current compiler technology, so maybe there is still a need for a section like the one I removed. However, if anyone decides to put such a section back in, please check and document any claims of fact included in the section. - B.Bryant 23:40 21 Jul 2003 (UTC)