From: Pete Dashwood on


"Rick Smith" <ricksmith(a)mfi.net> wrote in message
news:Z4CdncSCCf-RM2LanZ2dnUVZ_hisnZ2d(a)mid-floridainternet...
>
> "Pete Dashwood" <dashwood(a)removethis.enternet.co.nz> wrote in message
> news:6688cfF2ii6kvU1(a)mid.individual.net...
>>
>>
>> "Joe Zitzelberger" <zberger(a)knology.net> wrote in message
>> news:zberger-A7F0BE.00153011042008(a)ispnews.usenetserver.com...
> [snip]
>> > You can certainly use OO compilers to write procedural type code as you
>> > describe -- or you can use procedural only compilers to write OO style
>> > code as long as you enforce your the OO rules yourself.
>>
>> Absolutely. The fact is that when you encapsulate behaviours and
> properties
>> into an Object, the synergistic whole, is far greater than the sum of its
>> parts. The code representation is only ONE aspect of it.
>
> Pete, sometimes you make it too difficult for me
> to not care! <g>

How you feel about things is entirely a matter for you, just as how I feel
about things is up to me.

Generally, you make it VERY easy for me to stop caring...:-)

>
> The fact is that were one to encapsulate behaviors and
> properties into (a COBOL 68 program as) an object, it
> would not be more than what it appears to be.

I make a simple statement, intended to express a concept. (There is a
synergy obtained when you create objects. Part of that synergy is the fact
that you can use objects in many ways OUTSIDE of expressing them as computer
code.)

"The fact is that when you encapsulate behaviours and properties into an
Object, the synergistic whole, is far greater than the sum of its
parts. The code representation is only ONE aspect of it."

But ALL you see is the code representation. (So what about your OOA and OOD?
Is OOP ALL you can actually see? Yes, of course, your Object Oriented
Analysis is designed to derive objects to be coded and your Object Oriented
Design is intended to optimise them in code, so your OOP can manipulate them
in code. That is the full extent of your interest.)

"Oh no, Pete. If I do that with COBOL 68 I don't have any synergy..."

Well, Gee, Rick... might be time you moved off COBOL 68.

(See how easy it is for me to stop caring about the whole discussion when I
am dealing with someone who relates what I say to a compiler from 40 years
ago, that never supported OO anyway? It's just silly.)

And you're wrong anyway. Whether or not it was "more than what it appears to
be" depends on how imaginatively you use it.

If the various methods were written as entry points, they could be activated
independently of each other but sharing "factory" data, so the module
already has a capability that it wouldn't have were it written as a series
of modules to implement each method in the usual COBOL way.

>Add
> inheritance and polymorphism and the picture changes
> dramatically. The ability to substitute (an object of) one
> subclass with (an object of) another subclass (both
> derived from the same class), with no change to the
> underlying code, is what I see as synergistic.

Yes, but how dry is that.

>
> [I think the above also helps demonstrate why "object"
> should not be used. It is difficult to define a proper
> relationship between objects without reference to "class".]
>

I don't find myself discussing relationships between objects of a class very
often in these discussions, so "object" serves perfectly well as a general
description of what I'm talking about. Should the need arise to discuss
specific objects, and confusion is possible I would simply use dot notation:
Class.Object.

But I don't expect to be discussing this further anyway, so it is moot.

Pete.
--
I used to write COBOL...now I can do anything."


From: Charles Hottel on

"Rick Smith" <ricksmith(a)mfi.net> wrote in message
news:Z4CdncSCCf-RM2LanZ2dnUVZ_hisnZ2d(a)mid-floridainternet...
>
> "Pete Dashwood" <dashwood(a)removethis.enternet.co.nz> wrote in message
> news:6688cfF2ii6kvU1(a)mid.individual.net...
>>
>>
>> "Joe Zitzelberger" <zberger(a)knology.net> wrote in message
>> news:zberger-A7F0BE.00153011042008(a)ispnews.usenetserver.com...
> [snip]
>> > You can certainly use OO compilers to write procedural type code as you
>> > describe -- or you can use procedural only compilers to write OO style
>> > code as long as you enforce your the OO rules yourself.
>>
>> Absolutely. The fact is that when you encapsulate behaviours and
> properties
>> into an Object, the synergistic whole, is far greater than the sum of its
>> parts. The code representation is only ONE aspect of it.
>
> Pete, sometimes you make it too difficult for me
> to not care! <g>
>
> The fact is that were one to encapsulate behaviors and
> properties into (a COBOL 68 program as) an object, it
> would not be more than what it appears to be. Add
> inheritance and polymorphism and the picture changes
> dramatically. The ability to substitute (an object of) one
> subclass with (an object of) another subclass (both
> derived from the same class), with no change to the
> underlying code, is what I see as synergistic.
>
> [I think the above also helps demonstrate why "object"
> should not be used. It is difficult to define a proper
> relationship between objects without reference to "class".]
>
>

I think you can make a case to prefer "class based programming" to "object
oriented programming" but the hard facts of reality are that that ship has
sailed. It is important to understand the difference between a "class" and
an "object", especially because you will find very sloppy usage of these
terms in general. Understanding them helps you read between the lines an
determine for yourself what the author really means. Sometimes I think that
understanding them is what leads to sloppy use of the terms. People
intuitively understand what they mean to say, but they have forgotten their
inital confusion and are not as precise as they need to be when explaining
ideas to beginners.

Likewise the term "interface" often has several meaning and you must
determine from the context which one is meant.


From: Rick Smith on

"Pete Dashwood" <dashwood(a)removethis.enternet.co.nz> wrote in message
news:66b4muF2jli9bU1(a)mid.individual.net...
>
> "Rick Smith" <ricksmith(a)mfi.net> wrote in message
> news:Z4CdncSCCf-RM2LanZ2dnUVZ_hisnZ2d(a)mid-floridainternet...
[snip]
> >
> > The fact is that were one to encapsulate behaviors and
> > properties into (a COBOL 68 program as) an object, it
> > would not be more than what it appears to be.
>
> I make a simple statement, intended to express a concept. (There is a
> synergy obtained when you create objects. Part of that synergy is the fact
> that you can use objects in many ways OUTSIDE of expressing them as
computer
> code.)

Please note the use of the plural "objects".

> "The fact is that when you encapsulate behaviours and properties into an
> Object, the synergistic whole, is far greater than the sum of its
> parts. The code representation is only ONE aspect of it."

Please note the use of the singular "Object" preceded by
"an" suggesting an intent to use the singular.

Pete, make up your mind! <g> My response was predicated
on your use of the singular, meaning that the "synergistic
whole" is encapsulated within one object.

[snip]
> "Oh no, Pete. If I do that with COBOL 68 I don't have any synergy..."
>
> Well, Gee, Rick... might be time you moved off COBOL 68.

My references to COBOL 68 demonstrate that the
*academic* definition of "object" is so broad that even a
language that can not be use in object-oriented progamming
is included. This renders the definition of "object" absurd
and impractical.


From: Rick Smith on

"Rick Smith" <ricksmith(a)mfi.net> wrote in message
news:h8-dnR5z4bcjaJ3VnZ2dnUVZ_jmdnZ2d(a)mid-floridainternet...
[snip]
> Pete, make up your mind! <g> My response was predicated
> on your use of the singular, meaning that the "synergistic
> whole" is encapsulated within one object.

I might have expressed that better as "..., meaning that the
'synergistic whole' is that which is encapsulated within
each object." My apologies.


From: Rick Smith on

"Charles Hottel" <chottel(a)earthlink.net> wrote in message
news:AtCdnRqpKKdHQp3VnZ2dnUVZ_gudnZ2d(a)earthlink.com...
[snip]
> I think you can make a case to prefer "class based programming" to "object
> oriented programming" but the hard facts of reality are that that ship has
> sailed.

As of Thursday, April 10th, when I found these references,
Wikipedia shows 111 object-oriented progamming languages
<
http://en.wikipedia.org/wiki/Category:Object-oriented_programming_languages
>
and 36 class-based progamming languages
< http://en.wikipedia.org/wiki/Category:Class-based_programming_languages >.
I am not sure one can trust these lists because C++ shows
as class-based but not object-oriented.

The latter web page, above, states:
-----
This category lists all object-oriented programming languages
which adhere to the Class-based programming paradigm.
-----

This suggests that those who created this page consider
class-based to be a subset of object-oriented; thus
inheriting the definition of a term ("object") that I find
objectionable.