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=2.0 required=5.0 tests=BAYES_00,FORGED_MUA_MOZILLA, REPLYTO_WITHOUT_TO_CC autolearn=no autolearn_force=no version=3.4.4 X-Google-Thread: 103376,b076e6315fd62dc5,start X-Google-NewGroupId: yes X-Google-Attributes: gida07f3367d7,domainid0,public,usenet X-Google-Language: ENGLISH,ASCII-7-bit Received: by 10.68.234.38 with SMTP id ub6mr2924338pbc.2.1336568819266; Wed, 09 May 2012 06:06:59 -0700 (PDT) Path: pr3ni6209pbb.0!nntp.google.com!news1.google.com!goblin2!goblin.stu.neva.ru!aioe.org!.POSTED!not-for-mail From: "Nasser M. Abbasi" Newsgroups: comp.lang.ada Subject: fyi, very interesting Ada paper OOP vs. Readability Date: Wed, 09 May 2012 08:06:55 -0500 Organization: Aioe.org NNTP Server Message-ID: Reply-To: nma@12000.org NNTP-Posting-Host: JFgm6aMVwmC/YQNQyUTYRQ.user.speranza.aioe.org Mime-Version: 1.0 X-Complaints-To: abuse@aioe.org User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64; rv:12.0) Gecko/20120428 Thunderbird/12.0.1 X-Notice: Filtered by postfilter v. 0.8.2 Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit Date: 2012-05-09T08:06:55-05:00 List-Id: in case some did not read this paper, you might found it interesting. OOP vs. Readability Jeffery Carter It is avaliable for free now from http://dl.acm.org/authorize.cfm?key=23959 Here is the conclusion. I thought it is worth copying it here, as I found it very interesting and I have to agree with it. ---------------------------------- "Conclusion OOD emphasizes the software-engineering principles of locality, encapsulation, and information hiding. Using OOD with composition results in easy-to-read programs that exhibit low coupling and high cohesion, it is curious that OOP does not support OOD. Inheritance gains us something- We had to write less code using inheritance than we would have to write to implement these examples using composition, so using inheritance makes code easier to write. The price for this benefit is reduced readability. Using composition gains us something: The result is easy to read and understand. The price for this benefit is that we write more code. There are always tradeoffs in language design. Ada's expressed design goal, of emphasizing ease of reading and understanding over ease of writing, means such tradeoffs should be decided in favor of ease of reading against ease of writing, This was clearly not done in the case of inheritance. The goals of inheritance and dispatching, and so of OOP, conflict with Ada's expressed design goats" -----------------------------------------