comp.lang.ada
 help / color / mirror / Atom feed
From: "Nasser M. Abbasi" <nma@12000.org>
Subject: fyi, very interesting Ada paper OOP vs. Readability
Date: Wed, 09 May 2012 08:06:55 -0500
Date: 2012-05-09T08:06:55-05:00	[thread overview]
Message-ID: <jodq5f$j5f$1@speranza.aioe.org> (raw)

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"
-----------------------------------------




             reply	other threads:[~2012-05-09 13:06 UTC|newest]

Thread overview: 57+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2012-05-09 13:06 Nasser M. Abbasi [this message]
2012-05-09 13:19 ` fyi, very interesting Ada paper OOP vs. Readability Nasser M. Abbasi
2012-05-09 13:36   ` Dmitry A. Kazakov
2012-05-09 13:39     ` Patrick
2012-05-09 13:55       ` Egil Høvik
2012-05-10  2:33 ` Randy Brukardt
2012-05-10  6:33   ` Simon Wright
2012-05-12  0:37     ` Randy Brukardt
2012-05-30  2:09       ` BrianG
2012-05-30  7:29         ` Niklas Holsti
2012-05-30  7:54           ` Yannick Duchêne (Hibou57)
2012-05-30  7:59             ` Dmitry A. Kazakov
2012-05-30 12:45               ` stefan-lucks
2012-05-30 13:12                 ` Dmitry A. Kazakov
2012-05-30 19:11           ` Jeffrey Carter
2012-05-30 23:00           ` BrianG
2012-06-21 16:06             ` Randy Brukardt
2012-05-10  8:43   ` Maciej Sobczak
2012-05-15  6:16     ` Simon Wright
2012-05-10 11:46   ` Dmitry A. Kazakov
2012-05-10 14:23     ` Georg Bauhaus
2012-05-10 14:47       ` Nasser M. Abbasi
2012-05-10 15:11         ` Adam Beneschan
2012-05-10 16:06         ` Georg Bauhaus
2012-05-10 18:41           ` Niklas Holsti
2012-05-11  8:20             ` Georg Bauhaus
2012-05-10 20:11           ` Nasser M. Abbasi
2012-05-10 21:17             ` tmoran
2012-05-10 18:07         ` Jeffrey Carter
2012-05-11  7:32         ` Maciej Sobczak
2012-05-10 12:31 ` J-P. Rosen
2012-05-10 13:32 ` Yannick Duchêne (Hibou57)
2012-05-10 13:38   ` Nasser M. Abbasi
2012-05-10 23:42     ` Zhu Qun-Ying
2012-05-11  6:05   ` J-P. Rosen
2012-05-11  3:01 ` NatarovVI
2012-05-11  7:14   ` Dmitry A. Kazakov
2012-05-11  7:32     ` Nasser M. Abbasi
2012-05-11  7:58       ` Dmitry A. Kazakov
2012-05-13  3:11         ` NatarovVI
2012-05-13 10:03           ` Georg Bauhaus
2012-05-16 15:00             ` NatarovVI
2012-05-16 18:01               ` Georg Bauhaus
2012-05-21 16:35                 ` NatarovVI
2012-05-21 17:56                   ` Georg Bauhaus
2012-05-23 16:01                     ` NatarovVI
2012-05-23 16:12                       ` NatarovVI
2012-05-16 15:31     ` NatarovVI
2012-05-16 16:40       ` Dmitry A. Kazakov
2012-05-21 17:23         ` NatarovVI
2012-05-21 18:53           ` Dmitry A. Kazakov
2012-05-21 19:21             ` Nasser M. Abbasi
2012-05-23 17:59               ` NatarovVI
2012-05-23 18:45                 ` Dmitry A. Kazakov
2012-05-23 17:39             ` NatarovVI
2012-05-23 18:39               ` Dmitry A. Kazakov
2012-05-11  3:09 ` NatarovVI
replies disabled

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox