comp.lang.ada
 help / color / mirror / Atom feed
From: "Dmitry A. Kazakov" <mailbox@dmitry-kazakov.de>
Subject: Re: fyi, very interesting Ada paper OOP vs. Readability
Date: Wed, 16 May 2012 18:40:56 +0200
Date: 2012-05-16T18:40:56+02:00	[thread overview]
Message-ID: <1qkmythqujvoa$.h4megbum9r4c$.dlg@40tude.net> (raw)
In-Reply-To: jp0h86$6vn$1@speranza.aioe.org

On Wed, 16 May 2012 15:31:18 +0000 (UTC), NatarovVI wrote:

>>> Only data abstraction and modularity (without inheritance and, maybe,
>>> polymorphism) is good.
>> 
>> What is abstracted then?
>> 
>> P.S. There is no data without types.
> 
> What do you try to say?
> I try to say - there was "Data Abstraction" technology before OOP.

ADT was.

> it's like OOP but without inheritance and polymorphism.

A poor abstraction also, because it fails to capture any types relations,
beyond trivial containment.

> Only incapsulation. And that was good.

It wasn't good or bad. ADT predated richer algebras of types, as ad-hoc and
parametric polymorphisms did. There were obvious weaknesses in the ways ADT
worked in early languages. Some of them were overcame, some not until
today.

> inheritance break those good incapsulation.

How?

Containment breaks information hiding principle, separation of interface
and implementation, incapable to express referential semantics, enforces
tree-like structure of objects, break proper abstraction of semantically
integral types ... should I continue?

> polymorphism makes program reading context-dependent, that can be bad 
> also.

How reading can be context free?

> P.S. types is just alternative form of program, written purposely for 
> checking programmist's errors.

Type are not forms of program.

> So. Data CAN be "without types". Only this will be unsafe.
> 2+2=4. what type of 2 have? integer? enum? real? set of (2,4)?
> until we write we not know. and just cannot check.

Which is in self contradiction. If 2 is without a type why are you asking
which type it has?

Data does not exist without types, moreover they do not exist without the
agents interested in these data. In a larger context there are only values,
sets of values, types (sets of values bound by operations defined).

Data is a definite state of some input to some program. That state is
described in terms of values of defined types from the problem domain. So 2
could be data for the left argument of integer +, or an ASCII character
STX, or standard output descriptor, or whatever.

-- 
Regards,
Dmitry A. Kazakov
http://www.dmitry-kazakov.de



  reply	other threads:[~2012-05-16 16:41 UTC|newest]

Thread overview: 57+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2012-05-09 13:06 fyi, very interesting Ada paper OOP vs. Readability Nasser M. Abbasi
2012-05-09 13:19 ` 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 [this message]
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