[HN Gopher] Overview of the Ada Computer Language Competition (1...
___________________________________________________________________
Overview of the Ada Computer Language Competition (1979)
Author : transpute
Score : 93 points
Date : 2025-05-21 06:18 UTC (16 hours ago)
(HTM) web link (iment.com)
(TXT) w3m dump (iment.com)
| synack wrote:
| There's more detail about the language proposals and their merits
| here: (very large PDF)
| https://apps.dtic.mil/sti/trecms/pdf/ADB950587.pdf
| pixelesque wrote:
| Heh.
|
| "We did not have enough time to do a thorough analysis. The
| languages arrived at WHMI on February 21 and were on my desk on
| February 22. To insure the analysis is on your desk by March
| 13, we have to mail our report on March 8. That gives us
| fourteen days (counting weekends) to read the languages and
| work on the analysis. Figure two days to read and understand a
| language. We have used eight days. Another three days are used
| to write a report and solicit comments, and one day is lost
| typing. That leaves two days to analyze the four languages.
| Even if we had a thousand computer scientists doing the
| analysis, we could have only scratched the surface of these
| designs. Two hundred and seventy women can not have a baby in a
| day."
| jakeisnotadog1 wrote:
| https://archive.is/hZcMO
| tgv wrote:
| Useful, as the site seems overloaded, but that link only says
| "Welcome to nginx".
| kevlar700 wrote:
| Interestingly Co-Pilot gets it wrong and states Ada was designed
| by committees instead of being multiple competitive processes.
| How misunderstood Ada is.
|
| https://copilot.microsoft.com/shares/Jp9AmNHMEJzNmcbiu1VNx
|
| https://copilot.microsoft.com/shares/vUjdaDh4mXvj1fm4cyt15
| 7thaccount wrote:
| I believe it was both:
|
| https://en.m.wikipedia.org/wiki/High_Order_Language_Working_...
|
| The High Order Language Working Group came up with the
| requirements.
| kevlar700 wrote:
| True but it was far more open than a committee. The STRAWMAN
| requirements were circulated widely for comment to industry,
| military, federal and academic communities and to select
| experts such as Dijkstra and Hoare. Then WOODENMAN circulated
| for comment after incorporating changes based on STRAWMANS
| responses.
| adrian_b wrote:
| I wish I knew who were the anonymous authors of DoD
| "IRONMAN" (January 1977), especially who has written the
| paragraph "7.2.F. (7F.) FORMAL PARAMETER CLASSES".
|
| "IRONMAN" has introduced a very important innovation in
| programming languages, which has been inherited by Ada and
| by its derivatives, e.g. VHDL (the innovation is that
| formal parameters may have 3 kinds of behaviors, "in",
| "out" and "in out", and that the parameter behavior must be
| specified, but not its implementation mechanism, like in
| older programming languages).
|
| Unfortunately this innovation has remained largely unknown
| for the authors of most more recent programming languages,
| which are defective because of that.
|
| If Bjarne Stroustrup had bothered to read carefully the Ada
| specification before conceiving "C with Classes", he might
| have understood the implication of the "IRONMAN" parameter
| classes for languages with constructors and destructors,
| like C++, which could have avoided many decades of pain for
| the C++ users. In a language with the "IRONMAN" parameter
| classes, constructors can be ordinary functions and there
| is no need for many features that complicate C++, like
| distinct copy constructors and assignment operators, or
| "move" semantics. Moreover, the performance problems that
| have plagued C++ before 2011, due to the creation of
| unnecessary temporaries, would have been avoided since the
| beginning.
|
| It is likely that the authors of "IRONMAN" did not fully
| understand the consequences of their innovation, but they
| had proposed it only in order to make the new DoD language
| more similar to Jovial, which was a programming language
| used in several DoD projects at that time. Jovial had such
| formal parameter classes, but their meaning was slightly
| different than in "IRONMAN" and in the later Ada, enough to
| make them much less useful.
|
| Before "IRONMAN", the earlier DoD requirements were to be
| able to specify whether the parameters are passed by value
| or by reference, which is an extremely wrong requirement.
| It is the same mistake made by C and by its derivatives,
| including recent derivatives, like Rust.
|
| How the parameters are passed must be decided by the
| compiler, not by the programmer. For the programmer it does
| not matter whether a parameter is passed by value or by
| reference, when the passing of the parameters is
| implemented correctly (e.g. an in-out parameter that is
| passed by value is copied from the caller to the function
| and then back when the function returns, if that is
| necessary; frequently this is not necessary, e.g. if the
| parameter is located in a register; if the in-out parameter
| is so big that copying would be slow, the compiler decides
| to pass it by reference; in C and its derivatives, both out
| and in-out parameters must be passed by reference, even
| when that is the wrong choice; moreover, the compiler
| cannot flag as an error the reading of an out parameter
| prior to its first writing).
| askvictor wrote:
| How funny, I was just talking about and researching Ada at work
| this afternoon, while discussing what the best language for
| safety critical embedded systems would be
| gridtied wrote:
| If i may, what was the outcome? ADA?
___________________________________________________________________
(page generated 2025-05-21 23:01 UTC)