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.1 required=5.0 tests=BAYES_40,INVALID_DATE autolearn=no autolearn_force=no version=3.4.4 Path: utzoo!utgpu!jarvis.csri.toronto.edu!mailrus!tut.cis.ohio-state.edu!ucbvax!VLSI.JPL.NASA.GOV!larry From: larry@VLSI.JPL.NASA.GOV Newsgroups: comp.lang.ada Subject: RE: Ada as a real-time Lang.? Message-ID: <890427172943.117c@VLSI.JPL.NASA.GOV> Date: 28 Apr 89 00:29:43 GMT Sender: daemon@ucbvax.BERKELEY.EDU Organization: The Internet List-Id: -- > I had been under the impression that Ada WAS designed specifically for > real-time embedded applications. Maybe it was just a spoof to get in > the door, and then take over all application areas! Maybe. More likely the original purpose was expanded. > ... the first sentence of the RM (foreword) refers to "real-time systems". Specifically it says: "Ada is the result of a collective effort to design a common language for programming LARGE SCALE and real-time systems." [Emphasis added.] > The [third] and [fourth] sentences refer to the requirements effort and > specifically to the STEELMAN requirements. And the first sentence of > the STEELMAN document states: > > "The Department of Defense Common High Order Language program was > established in 1975 with the goal of establishing a single high order > computer programming language appropriate for DoD EMBEDDED COMPUTER > SYSTEMS". [emphasis added] That's the first sentence. It leaves wide open the possibility that the HOL would be appropriate for many other kinds of systems. In fact, most of STEELMAN is devoted to requirements for general-purpose applications programming, and a small fraction to real-time programming. Looking at 1815A itself its hard to avoid the conclusion that real-time programming is not a high priority. For instance, almost all of Chapter 13 is optional, even though the features covered there are essential for any type of embedded programming. DELAY X means delay AT LEAST but possibly much more than X. PRAGMA INLINE is optional. The chapters on tasking and exceptions describe facilities general enough to be used on distributed computing systems that have concurrency but do not have real-time require- ments. And so on. > Your implication that Ada was not designed for real-time applications > may be harmful if it causes real-time programmers to give up hope for a > decent high level language to use. Much more harmful would be to give them the wrong impression and alienate them when they put their reputations and jobs on the line by choosing it for a hard real-time project. > ... Ada is suitable for real-time, but is certainly not perfect. Hopefully, > these imperfections can be addressed in Ada9X. In fact, I'm sure they will be, with the quality of the people who are addressing this issue. Of course, most of the "imperfections" can be gotten around now. The DELAY statement can be replaced by a custom-written EXACT_DELAY, for instance. Customers can select compilers that do implement Chapter 13. And so on. But all this takes time and energy that would not have to be expended if Ada were designed to be a special-purpose language. Instead, it's a general purpose language, and I for one am happly that this is so. Larry @ VLSI.JPL.NASA.GOV