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 Xref: utzoo comp.software-eng:1204 comp.lang.ada:2096 Path: utzoo!utgpu!utstat!jarvis.csri.toronto.edu!mailrus!tut.cis.ohio-state.edu!bloom-beacon!apple!oliveb!pyramid!prls!philabs!linus!sdl From: sdl@linus.UUCP (Steven D. Litvintchouk) Newsgroups: comp.software-eng,comp.lang.ada Subject: Re: Good Design Strategies Message-ID: <45491@linus.UUCP> Date: 28 Feb 89 04:11:40 GMT References: <4343@enea.se> <4574@hubcap.UUCP> Organization: The MITRE Corp., Bedford, MA In-reply-to: billwolf@hubcap.clemson.edu's message of 27 Feb 89 15:46:09 GMT List-Id: In article <4574@hubcap.UUCP> billwolf@hubcap.clemson.edu (William Thomas Wolfe,2847,) writes: > From article <4343@enea.se>, by sommar@enea.se (Erland Sommarskog): > > What I like to stress is: Ada is *not* an object-oriented language. > > [it lacks] inheritance and dynamic typing..... > > Software Productivity Solutions, Inc., has announced a new product, > Classic-Ada (tm), which allows Ada software developers to use > inheritance and dynamic binding in object-oriented Ada designs. Lest anyone get the wrong impression about Classic-Ada, let me clarify: The Classic-Ada language is *not* legal Ada. It is a unique dialect, which consists of Ada extended (nicely) with a new construct--the class--with inheritance and dynamic binding. SPS, Inc., is to be commended for attempting to improve Ada's support for object oriented programming. But the resulting Classic-Ada language is not legal Ada. Classic-Ada programs must be put thru SPS' translator to generate legal Ada. Mr. Sommarskog is quite correct. Ada lacks any specific mechanism for defining relationships among classes; the Classic-Ada language provides just this mechanism. Eiffel does manage to provide inheritance in a reasonably strongly-typed framework. In their zeal to facilitate object-oriented programming, SPS added both inheritance and dynamic binding to Classic-Ada. Was dynamic binding necessary? It seems to entirely defeat the safety and reliability that was a goal of Ada. I believe that Eiffel tries to provide both separate compilation and generics, just like Ada. And, just like Ada, I would suspect that the early Eiffel compilers will have "teething problems." (At OOPSLA '88, I recall that several Eiffel users reported problems with the Eiffel library manager; a real case of deja vu for us veteran Ada programmers.) Steven Litvintchouk MITRE Corporation Burlington Road Bedford, MA 01730 Fone: (617)271-7753 ARPA: sdl@mitre-bedford.arpa UUCP: ...{att,decvax,genrad,ll-xn,philabs,utzoo}!linus!sdl "Those who will be able to conquer software will be able to conquer the world." -- Tadahiro Sekimoto, president, NEC Corp.