From: ok@goanna.cs.rmit.edu.au (Richard A. O'Keefe)
Subject: Re: Interesting but sensitive topic to discuss (HELP: - OOP and CASE t
Date: 1996/11/13
Date: 1996-11-13T00:00:00+00:00 [thread overview]
Message-ID: <56bt0g$jda$1@goanna.cs.rmit.edu.au> (raw)
In-Reply-To: yf3pw1ni3tm.fsf@sabi.demon.co.uk
piercarl@sabi.demon.co.uk (Piercarlo Grandi) writes:
>The observation above is, as per your remark, strictly speaking not
>general enough; but then just saying "OO module" instead of "class"
>would give it generality.
Yes, but it would provide generality by means of obscurity and vagueness.
What, for example, is an "OO module"? I am aware of several languages
having both objects and modules:
Ada 95 (module=package, object=tagged record instance)
ISO Pascal Extended with Object-Oriented Extensions to Pascal
(module=module, object=object=pointer to extended record)
Oberon-2
Common-Lisp/CLOS (module=package, object=class instance)
C++ (module=translation unit maybe, or better, namespace; object=record)
so the term "OO module" seems to mean something like "module containing OO
components".
>For whether class or prototype based, an OO program is a collection of
>(OO) modules, and values at runtime are either instances of a class or
>clones of a prototype.
(1) In Self, it's not who you are _cloned from_ that determines your
properties, but who _your parents are_. The nearest analogue of
a class would be a partial function from parent slot names to
objects, e.g. the "class" (parent*=o123, uncle*=o125, locale*=o23)
(2) The parents of an object can vary through time.
>OO programs (as opposed to their executions) do occasionally contain
>some instances or clones, but this does not justify the observation that
>"OO programs are systems of interacting **objects**".
It seems to me that there may be an equivocation involving the word
"program" here. Even for C++, it is true that
"the EXECUTION of a program is a system of interacting objects".
You are saying "even for a prototype based language, a program is
statically composed of classes and methods", but once again, nothing
says that an OO language has to be batch compiled. In the static
sense which I think you have in mind, no "program" as such need ever
exist.
>While the analysis and design of an OO program may/should be based on
>some mental image of how it is going to be executed, both activities are
>really about deciding into which ``encapsulated'' concepts and modules
^^^^^^
>to decompose the solution to a problem, and not into which
>``interacting'' objects (even if in some languages OO modules are
>objects, and in some others objects to interact).
Is the Sun "really" a nuclear reactor or is it "really" just a big ball
of hot gas or is it "really" a source of heat and light?
I don't think anyone is denying that the "analyse, design static structure,
build static structure, light blue touch paper and stand well back" approach
is appropriate for a very large number of applications and projects. (I am
reading this in comp.lang.ada, after all, and I wouldn't be using Ada if I
didn't think that was the right way to do some things.) The point is that
it doesn't _have_ to be that way for _all_ applications and projects, and
there _are_ languages permitting a different mindset. In particular, I
cannot imagine why anyone would want to rule out meta-design, where your
program _at run time_ constructs new 'OO modules' (whatever they are) with
good interfaces and starts using them. It's not too much to say that that's
exactly how the Newton works.
--
Mixed Member Proportional---a *great* way to vote!
Richard A. O'Keefe; http://www.cs.rmit.edu.au/%7Eok; RMIT Comp.Sci.
next prev parent reply other threads:[~1996-11-13 0:00 UTC|newest]
Thread overview: 79+ messages / expand[flat|nested] mbox.gz Atom feed top
1996-11-06 0:00 Interesting but sensitive topic to discuss (HELP: - OOP and CASE tools) Dong Oh Kim
1996-11-06 0:00 ` Paul_Gover
1996-11-06 0:00 ` Snowball
1996-11-13 0:00 ` Peter Pflaum
1996-11-13 0:00 ` David N. Smith
1996-11-06 0:00 ` Jan Steinman
1996-11-07 0:00 ` Paul_Gover
1996-11-12 0:00 ` Robert C. Martin
1996-11-12 0:00 ` Alan Lovejoy
1996-11-12 0:00 ` Snowball
1996-11-15 0:00 ` Soren Skogstad Nielsen
1996-11-28 0:00 ` Piercarlo Grandi
1996-11-28 0:00 ` Piercarlo Grandi
1996-11-06 0:00 ` Alan Lovejoy
1996-11-07 0:00 ` Piercarlo Grandi
1996-11-10 0:00 ` drs
1996-11-12 0:00 ` Piercarlo Grandi
1996-11-10 0:00 ` Vlastimil Adamovsky
1996-11-11 0:00 ` Piercarlo Grandi
1996-11-11 0:00 ` Anthony Menio
1996-11-18 0:00 ` Piercarlo Grandi
1996-11-20 0:00 ` Anthony Menio
1996-11-27 0:00 ` Piercarlo Grandi
1996-11-12 0:00 ` Anthony Menio
1996-11-18 0:00 ` Piercarlo Grandi
1996-11-19 0:00 ` Anthony Menio
1996-11-27 0:00 ` Piercarlo Grandi
1996-11-11 0:00 ` Daniel Drasin
1996-11-12 0:00 ` Anthony Menio
1996-11-08 0:00 ` Paul_Gover
1996-11-08 0:00 ` Alan Lovejoy
[not found] ` <6KZQfjK-3RB@herold.franken.de>
1996-11-10 0:00 ` Interesting but sensitive topic to discuss (HELP: - OOP and CASE t Chris
1996-11-10 0:00 ` Vlastimil Adamovsky
1996-11-11 0:00 ` Interesting but sensitive topic to discuss (HELP: - OOP and CASE tools) Bill Gooch
1996-11-12 0:00 ` Jan Steinman
1996-11-12 0:00 ` Alan Lovejoy
1996-11-13 0:00 ` Nick Thurn
1996-11-13 0:00 ` Alan Lovejoy
1996-11-14 0:00 ` Nick Thurn
1996-11-12 0:00 ` Alan Lovejoy
1996-11-13 0:00 ` Ell
1996-11-13 0:00 ` Nick Thurn
1996-11-14 0:00 ` Bill Gooch
1996-11-19 0:00 ` Tim Ottinger
1996-11-08 0:00 ` Ell
1996-11-08 0:00 ` Alan Lovejoy
1996-11-13 0:00 ` Ell
1996-11-10 0:00 ` vlad
1996-11-12 0:00 ` Robert C. Martin
1996-11-12 0:00 ` Alan Lovejoy
1996-11-14 0:00 ` David N. Smith
1996-11-14 0:00 ` Bill Gooch
1996-11-20 0:00 ` Robert C. Martin
1996-11-20 0:00 ` Robert Dewar
1996-11-20 0:00 ` Michael Malak
1996-11-20 0:00 ` Robert Dewar
1996-11-26 0:00 ` Tucker Taft
1996-12-03 0:00 ` Robert C. Martin
1996-12-08 0:00 ` Tucker Taft
1996-11-07 0:00 ` Interesting but sensitive topic to discuss (HELP: - OOP and CASE t Joachim Durchholz
1996-11-08 0:00 ` Richard A. O'Keefe
1996-11-09 0:00 ` Piercarlo Grandi
1996-11-13 0:00 ` Richard A. O'Keefe [this message]
1996-11-27 0:00 ` Piercarlo Grandi
1996-11-08 0:00 ` Alan Lovejoy
1996-11-08 0:00 ` Jon S Anthony
1996-11-08 0:00 ` Joachim Durchholz
1996-11-12 0:00 ` Alaric B. Williams
1996-11-13 0:00 ` Richard A. O'Keefe
1996-11-08 0:00 ` Nick Thurn
1996-11-08 0:00 ` Alan Lovejoy
1996-11-11 0:00 ` Nick Thurn
1996-11-11 0:00 ` Paul_Gover
1996-11-11 0:00 ` Interesting but sensitive topic to discuss (HELP: - OOP and CASE tools) David N. Smith
1996-11-12 0:00 ` Anthony Menio
1996-11-11 0:00 ` Interesting but sensitive topic to discuss (HELP: - OOP and CASE t Anthony Menio
1996-11-11 0:00 ` Interesting but sensitive topic to discuss (HELP: - OOP and CASE tools) Cesar A. Gonzalez Perez
1996-11-12 0:00 ` Interesting but sensitive topic to discuss (HELP: - OOP and CASE t Joachim Durchholz
1996-11-20 0:00 ` Piercarlo Grandi
replies disabled
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox