From: Alan Gauld on

"Phlip" <phlip_cpp(a)yahoo.com> wrote in message
news:Vx0qe.6494$_A5.5126(a)newssvr19.news.prodigy.com...
> My word fOO is easy to apply, because it's narrow. Find the
jump-table, or
> equivalent, and we got fOO.
>
> My word fOO is distinct, meaning any two engineers can agree
independently
> whether a system has my fOO.
>
> The easy and distinct properties together lead to a third
property. Because
> fOO relates to very important programming topics, and because
two engineers
> who know my definition of fOO can say "fOO" to each other all
day and know
> what each other mean, that makes my definition useful.
>
> Definitions should be easy to apply, distinct, and useful.
>
> In terms of "correct", what is the difference between my word
"fOO" and this
> "OO" word you use?

You just described the difference. Your definition is much
narrower than OO.
OO has een applied to many different things from menu systems to
graphics
to business analysis therefore it cannot be defined purely in
terms of
programming terms. Even OOP has many subtly different definitions
and
although I may dislike many of them, and like your definition of
fOO, I
cannot pretend that fOO defines OO.

Alan G.


From: Leif Roar Moldskred on
"topmind" <topmind(a)technologist.com> writes:

> Huh? I was hoping to see demonstrations of polymorphism making software
> better (by whatever metric you propose) in something besides the common
> textbook domains.

That's like asking if cars made with metric screws are better than
cars made with imperial screws. OO doesn't add anything to the
_software_, so if you're looking to find the advantages of OO _in the
software_ you won't find it. OO adds advantages to the _development
process_ and that's where you'll have to look for its advantages.

You can't ask if "this software is better than equivalent software
written without OO" -- if the software is equivalent than by
definition it isn't better. You'll have to ask if this software was
cheaper/quicker/easier _to make_.

> Software is generally going to be more change-friendly if it fits the
> pattern of future changes. If the customers don't give a damned about
> your internal hierarchies, then using hierarchies is probably not a
> good change-friendly bet (unless you want to force them to live by your
> arbitrary classification system and let them vote for your competitor
> with their feet).

The customer's aren't the ones who are going to change the code -- we
are, _on behalf of the customers_. For that reason, we don't choose
our OO structure arbitrarily. We choose it _deliberatedly_, after
analysing the requirements, including the requirements for futere
change and additions. Your point about "arbitrary classification" is a
straw man, because the classification _isn't_ arbitrary.

> I assumed being change-friendly was one of the bragging points of
> polymorphism. If not, then please state your measurements of
> betterment.

For the purpose of this argument? "Cheaper/easier/quicker to make,"
for reasons explained above.

--
Leif Roar Moldskred
From: CTips on
topmind wrote:
<snip>
> OO is good for .... shapes.
>

Not really. Anytime someone comes up with the shapes example, ask them
how they would add the method:

class shape {
// true if object has any points in common with <B>
boolean intersects(shape B);
}

See how quickly mind-lock sets in....
From: topmind on

Leif Roar Moldskred wrote:
> "topmind" <topmind(a)technologist.com> writes:
>
> > Huh? I was hoping to see demonstrations of polymorphism making software
> > better (by whatever metric you propose) in something besides the common
> > textbook domains.
>
> That's like asking if cars made with metric screws are better than
> cars made with imperial screws. OO doesn't add anything to the
> _software_, so if you're looking to find the advantages of OO _in the
> software_ you won't find it. OO adds advantages to the _development
> process_ and that's where you'll have to look for its advantages.

Fine. Describe precisely how it does this. I am not dictating to you
what metrics to use to compare OO to whatever, I am *asking*. Just be
clear about your metric(s) and how you arrive at it.

If you brag about OO, then it is your responsibility to produce
clear-cut (or at least good) evidence of it helping whatever the hell
you claim it helps (besides device drivers).

[....]
>
> > Software is generally going to be more change-friendly if it fits the
> > pattern of future changes. If the customers don't give a damned about
> > your internal hierarchies, then using hierarchies is probably not a
> > good change-friendly bet (unless you want to force them to live by your
> > arbitrary classification system and let them vote for your competitor
> > with their feet).
>
> The customer's aren't the ones who are going to change the code -- we
> are, _on behalf of the customers_. For that reason, we don't choose
> our OO structure arbitrarily. We choose it _deliberatedly_, after
> analysing the requirements, including the requirements for futere
> change and additions. Your point about "arbitrary classification" is a
> straw man, because the classification _isn't_ arbitrary.

Well, this will probably turn into a language battle over what
"classication" means.

But generally if you use a tree to represent classifications of
products (such as bank accounts), you will have difficulty forcing
future changes to fit into a nice tree. Any classification *can* be
turned into a tree if you try hard enough, but it is should be an
excercise left only for the worse prisoners at Guantimo Bay.

As a reader excercise, try to create a hierarchical classification of
people and add about 20 traits/factors onto it. When you are done with
that, then mow your lawn with tweazers.

>
> > I assumed being change-friendly was one of the bragging points of
> > polymorphism. If not, then please state your measurements of
> > betterment.
>
> For the purpose of this argument? "Cheaper/easier/quicker to make,"
> for reasons explained above.

The reasons were not clearly explained. Textbooks tend to only show
change scenarios that favor polymorphism, conveniently skipping those
that don't.

>
> --
> Leif Roar Moldskred

-T-

From: topmind on
Well, actually there are a lot of shape conundrems floating around,
such as the square-isa-rectangle classification problem. I was just
trying to mentally move people beyond the common textbook examples and
didn't mean to formally endorse shapes. -t-

First  |  Prev  |  Next  |  Last
Pages: 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22
Next: Use Case Point Estimation