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.9 required=5.0 tests=BAYES_00 autolearn=unavailable autolearn_force=no version=3.4.4 Path: eternal-september.org!reader01.eternal-september.org!reader02.eternal-september.org!news.eternal-september.org!mx02.eternal-september.org!.POSTED!not-for-mail From: "J-P. Rosen" Newsgroups: comp.lang.ada Subject: Re: was Ada 83 in fact object oriented ? Date: Fri, 25 Sep 2015 10:14:24 +0200 Organization: A noiseless patient Spider Message-ID: References: Mime-Version: 1.0 Content-Type: text/plain; charset=windows-1252 Content-Transfer-Encoding: 8bit Injection-Date: Fri, 25 Sep 2015 08:12:29 +0000 (UTC) Injection-Info: mx02.eternal-september.org; posting-host="45bffd6a911624777cad79aac3181090"; logging-data="5508"; mail-complaints-to="abuse@eternal-september.org"; posting-account="U2FsdGVkX1/ruM68UMO7SRoE2OFuROhZ" User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64; rv:38.0) Gecko/20100101 Thunderbird/38.2.0 In-Reply-To: Cancel-Lock: sha1:j81/eMh4LuZDofxoVU3lmh17lkA= X-Enigmail-Draft-Status: N1110 Xref: news.eternal-september.org comp.lang.ada:27821 Date: 2015-09-25T10:14:24+02:00 List-Id: Le 25/09/2015 00:23, halfmaddad@gmail.com a écrit : > OO is a huge topic but I am wondering what are the basic requirements > for a language to be said to support object orientation. > > Ada 83 had packages and one package could be instantiated more then > one time. > > Is it fair to say that basic class and methods were therefore > supported? > > Do you have any examples of a language that just meets the threshold > of being OO ? One of my pet subjects... IMHO, object orientation is about structuring your software in modules that reflect abstractions of the objects of the model space (rather than sequential processing, as in structured programming). Objects can then be organized as composition of lower level objects (programming by composition) or as hierarchies of general objects to more specific objects. The latter require inheritance. For some mysterious reasons, the proponents of the hierarchical method declared that they were the only true object orientation, and disregarded OO by composition. As to your original question, Ada83 had excellent support for OO by composition, but lacked direct support for inheritance. Long ago, I wrote a paper in CACM about this topic ("what orientation should Ada objects take"). A link is available from http://www.adalog.fr/en/publications.html. Normally, the link (to ACM) should allow you to download a PDF version for free, although sometimes it does seem to require money... Maybe it depends on whether you are logged in as ACM member. In case of problem, ask me and I can provide a copy. -- J-P. Rosen Adalog 2 rue du Docteur Lombard, 92441 Issy-les-Moulineaux CEDEX Tel: +33 1 45 29 21 52, Fax: +33 1 45 29 25 00 http://www.adalog.fr