From mboxrd@z Thu Jan 1 00:00:00 1970 X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on polar.synack.me X-Spam-Level: X-Spam-Status: No, score=-1.3 required=5.0 tests=BAYES_00,INVALID_MSGID autolearn=no autolearn_force=no version=3.4.4 X-Google-Language: ENGLISH,ASCII-7-bit X-Google-Thread: 103376,29fe9a340e0d180d X-Google-Attributes: gid103376,public From: hbaker@netcom.com (Henry Baker) Subject: Re: Depending on passing mechanism Date: 1997/10/23 Message-ID: #1/1 X-Deja-AN: 282634022 Sender: hbaker@netcom10.netcom.com References: Organization: nil Newsgroups: comp.lang.ada Date: 1997-10-23T00:00:00+00:00 List-Id: In article , mheaney@ni.net (Matthew Heaney) wrote: > I'm going to tell you a story, Henry. It's called, What I Did At Work Today. > Now, that was a real problem at my real job. Do you feel that that was too > difficult? Dijkstra admonished us 20 years ago that we need to "minimize > the intellectual distance" between a problem and the solution to that > problem. Doesn't this solution capture the qualities of the problem > directly? I agree that Ada's attempts to provide accurate ranges of numbers are laudable. But PL/I and Cobol offered equally (some would say more equally) powerful capabilities. But the history of Ada indicates a deep disconnect between people like yourselves that have to deal with real hardware and real data formats and the academics. The academics were worried about something totally different, and in fact, it first appeared as though Ada would not be able to properly specify exact hardware formats at all. This is one case where 'real' programmers were able to prevail. The academic notion of number ranges was not wrong, but it was not carried through. Even a cursory glance at the 'interpretation' of the Ada standard shows that they missed by a mile. For example, there was no guarantee that a variable with a particular range could be guaranteed to always have a value in that range! There were no tools for Ada that would allow one to step through a program and verify symbolically where range constraints were met, and where they weren't met. Such a tool would be invaluable in the verification of a real-time embedded system. Instead, Ada people spent all this time on the semantics of exceptions, which people who actually had to program reliable real-time embedded systems promptly turned off!