正在加载图片...
1080 O-O PROGRAMMING AND ADA $33.1 (today's Bull).Following a few years'experience with the first industrial implementations,the language was revised and made into an ANSI standard in 1983. Ada (as Green was renamed)began a new era in language design.Never before had a language be subjected to such intense examination before being released.Never before (in spite of some valiant efforts by the PL/I team)had a language been treated like a large- scale engineering project.Working groups comprising the best experts in many countries spent weeks reviewing the proposals and contributed-in those pre-Internet days- reams of comments.Like Algol 60 a generation earlier,Ada redefined not just the language landscape but the very notion of language design. A recent revision of Ada has yielded a new language,now officially called Ada 95, which will be described at the end of this chapter.In the rest of the discussion,as elsewhere in this book,the name Ada without further qualification refers to the preceding version,Ada 83,by far the most widely used today. Has Ada been successful?Yes and no.The DoD got what it had commissioned: thanks to a rigorous implementation of the"Ada mandate",Ada became in a few years the dominant technical language in the various branches of the US military,and of the military establishment of some other countries too.It has also achieved significant use in such non- military government agencies as NASA and the European Space Agency.But except for some inroads in computing science education-aided in part by DoD incentives-the language has only had limited success in the rest of the software world.It would probably have spread more widely were it not for the competition of the very ideas described in this book:object technology,which burst into the scene just as Ada and the industry were becoming ripe for each other. The careful observer of language history can detect two ironies here.The first is that the designers of Ada were well aware of O-O ideas;although this is not widely known, Ichbiah had in fact written one of the first compilers for Simula 67,the original O-O language.As he has since explained when asked why he did not submit an O-O design to the DoD,he estimated that in the competitive bidding context of Ada's genesis such a design would be considered so far offthe mainstream as to stand no chance ofacceptance. No doubt he was right;indeed one can still marvel at the audacity of the design accepted by the DoD.It would have been reasonable to expect the process to lead to something like an improvement of JOVIAL (a sixties'language for military applications);instead,all four candidate languages were based on Pascal,a language with a distinct academic flavor,and Ada embodied bold new design ideas in many areas such as exceptions, genericity and concurrency.The second irony is that the Ada mandate,meant to force DoD software projects to catch up with progress in software engineering by retiring older approaches,has also had in the ensuing years the probably unintended effect of slowing down the adoption of newer(post-Ada)technology by the military-aerospace community. The lessons of Ada remain irreplaceable,and it is a pity that many of the O-O languages of the eighties and nineties did not pay more attention to its emphasis on software engineering quality.However obvious,this comment is all the more necessary because the occasion for discussing Ada in this book is often to contrast some of its solutions with those of O-O development-as will again happen several times in this chapter.The resulting1080 O-O PROGRAMMING AND ADA §33.1 (today’s Bull). Following a few years’ experience with the first industrial implementations, the language was revised and made into an ANSI standard in 1983. Ada (as Green was renamed) began a new era in language design. Never before had a language be subjected to such intense examination before being released. Never before (in spite of some valiant efforts by the PL/I team) had a language been treated like a large￾scale engineering project. Working groups comprising the best experts in many countries spent weeks reviewing the proposals and contributed — in those pre-Internet days — reams of comments. Like Algol 60 a generation earlier, Ada redefined not just the language landscape but the very notion of language design. A recent revision of Ada has yielded a new language, now officially called Ada 95, which will be described at the end of this chapter. In the rest of the discussion, as elsewhere in this book, the name Ada without further qualification refers to the preceding version, Ada 83, by far the most widely used today. Has Ada been successful? Yes and no. The DoD got what it had commissioned: thanks to a rigorous implementation of the “Ada mandate”, Ada became in a few years the dominant technical language in the various branches of the US military, and of the military establishment of some other countries too. It has also achieved significant use in such non￾military government agencies as NASA and the European Space Agency. But except for some inroads in computing science education — aided in part by DoD incentives — the language has only had limited success in the rest of the software world. It would probably have spread more widely were it not for the competition of the very ideas described in this book: object technology, which burst into the scene just as Ada and the industry were becoming ripe for each other. The careful observer of language history can detect two ironies here. The first is that the designers of Ada were well aware of O-O ideas; although this is not widely known, Ichbiah had in fact written one of the first compilers for Simula 67, the original O-O language. As he has since explained when asked why he did not submit an O-O design to the DoD, he estimated that in the competitive bidding context of Ada’s genesis such a design would be considered so far off the mainstream as to stand no chance of acceptance. No doubt he was right; indeed one can still marvel at the audacity of the design accepted by the DoD. It would have been reasonable to expect the process to lead to something like an improvement of JOVIAL (a sixties’ language for military applications); instead, all four candidate languages were based on Pascal, a language with a distinct academic flavor, and Ada embodied bold new design ideas in many areas such as exceptions, genericity and concurrency. The second irony is that the Ada mandate, meant to force DoD software projects to catch up with progress in software engineering by retiring older approaches, has also had in the ensuing years the probably unintended effect of slowing down the adoption of newer (post-Ada) technology by the military-aerospace community. The lessons of Ada remain irreplaceable, and it is a pity that many of the O-O languages of the eighties and nineties did not pay more attention to its emphasis on software engineering quality. However obvious, this comment is all the more necessary because the occasion for discussing Ada in this book is often to contrast some of its solutions with those of O-O development — as will again happen several times in this chapter. The resulting
<<向上翻页向下翻页>>
©2008-现在 cucdc.com 高等教育资讯网 版权所有