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=-0.8 required=5.0 tests=BAYES_00,INVALID_DATE autolearn=no autolearn_force=no version=3.4.4 Newsgroups: comp.lang.ada Path: utzoo!utgpu!news-server.csri.toronto.edu!rpi!think.com!linus!linus!linus!mbunix!eachus From: eachus@largo.mitre.org (Robert I. Eachus) Subject: Re: OOP and large systems (was: Ada vs C++, ...) In-Reply-To: dlindsle@afit.af.mil's message of 4 Jun 91 18:56:32 GMT Message-ID: Sender: news@linus.mitre.org (News Service) Nntp-Posting-Host: largo.mitre.org Organization: The Mitre Corp., Bedford, MA. References: <0D010010.vk2p2d@brain.UUCP> <1991May30.004144.24252@netcom.COM> <085657.19195@timbuk.cray.com> <1991Jun1.044011.29894@netcom.COM> <1991Jun04.185632.18204@afit.af.mil> Date: 11 Jun 91 18:29:34 List-Id: In article <1991Jun04.185632.18204@afit.af.mil> dlindsle@afit.af.mil (David T. Lindsley) writes: Ada is not an OOPL in the classic sense, no. But Ada does allow and in fact encourage object-oriented _design_. Encapsulation (packages), information hiding (private types), etc., are part of OOD (and OOPLs)... Hmmm. In Ada you can (and most software engineers do) use OO DESIGN methods. However, the properties of the language are such that it is very difficult to modify data abstractions in unintended ways. In the AI field, I have seen lots of Smalltalk, LISP, Scheme, LOOPS, etc. systems which, like Topsy, just growed. The lack of information hiding and isolation of abstractions makes violations of any original design easy in most "pure" OO PROGRAMMING environments. And in most of the OOP systems I have seen not only are these violations notable by their presence, they make any maintenance a nightmare. I think that the ability we have to hide data abstractions in Ada is precious, and any attempt to break that barrier to permit "pure" OO programming in Ada is misguided. (Flame Retardant: I am very much in favor of OO extensions in Ada 9X, we just need to be very careful not to break more important Ada properties.) -- Robert I. Eachus with STANDARD_DISCLAIMER; use STANDARD_DISCLAIMER; function MESSAGE (TEXT: in CLEVER_IDEAS) return BETTER_IDEAS is...