Re: Strategy pattern and "related classes"

From: Cristiano Sadun (cristianoTAKEsadun_at_THIShotmailOUT.com)
Date: 10/29/04


Date: Fri, 29 Oct 2004 10:56:11 +0000 (UTC)

Dagfinn Reiersol <reiersol@online.no> wrote in
news:yUngd.4347$Km6.103686@news4.e.nsc.no:

> So let's try something else.

Sure. It's an interesting conversation anyway, philosophically.

> But
> sometimes that precision will consist in saying that a given word has
> a relatively general meaning, or more than one possible meaning
> depending on perspective. If necessary, you may have to specify how
> you're using it in a specific context.

I certainly agree. "Sometimes" - which is, for certain words.

For example, stuff like "module", "process" etc do not have imho an
accepted interpretation that can be consistently applied across most of
the usage spectrum. So one talks of "compilation module", "o/s process",
etc. Maybe they'll have in some time; maybe they'll never.

"Interface" and "behaviour" related to OO simply happen, to me, to have
it. Being in comp.object is enough context to determine its meaning with
reasonable precision. We wouldn't have had this conversation if we were
talking in soc.culture.psychoanalysis.

It's very similar - again - to the word "work" as used in comp.physics
vs. it usage in soc.communism.

> I think the most important reason is that software has behavior that's
> seen by users.

That the software has behaviour is certainly true, but it's not a reason
to me, since the users don't see software objects. Ask an user if an
application's OO or not, he won't know. The behaviour the user see is
different from the technical meaning of object behaviour (as used when
defining the meaning of interface, as I did). You're mixing levels:
software as an entity seen by users, and software as an entity seen by
software engineers.

Now, what's the audience of the GOF? Users or software engineers? ;)

> If two programs show the same message box to the user, or
> convert XML to HTML in exactly the same way, they have the same
> behavior even if they're implemented in completely different ways in
> different programming languages and even running on different
> computers. A counter-intuitive meaning that rules out this usage is
> likely to generate more confusion than it clears up.

Exactly. But that has not necessarily something to do with the OO
meaning of "behaviour" to which, among others, me and the GOF refer to.
The GOF is not about user behavior, it's about software objects
behaviour. I answered on a question about the GOF, hence about software
objects, hence about software objects behaviour.

Besides, don't you notice how the definition of "behavior" as "doing
something as a consequence to a message" would fit also your example? At
user level, a software reacts to a message (packaged under the form of a
answer in a message box followed by pushing the ok button) by doing
something (running the conversion).

There are, actually, definitions of "behaviour" which are not covered -
specifically, spontaneous behaviour by an application or software
objects - for which it does something without any external trigger.

That leads to two possible extensions of the definition of behaviour -
either by stating that the object is sending messages to itself (and you
can always find a trigger if u look well enough - for example the o/s
clock) or by defining the separate notion of "active object". Both
things have been done in literature.

> "Counter-intuitive" is probably the key concept here. In everyday
> language, behavior is what's visible on the outside. Inverting this
> abstract quality of the word and making it mean only what's on the
> inside (of an object, in this case) is so far removed that you need a
> great deal of brainwashing to keep people from getting mixed up.
> Better to have another, different technical term for your restrictive
> meaning.

That's a possibility. As I said, I often agree with that - the problem
are the two forces I was mentioning in another post.

Again the definition of "work" in physics ...works :-) wonders as a
direct analogy: for most physic 101 students it's kinda difficult and
confusing at the start. That's because they mix up levels. Why physicist
don't use another word for it? Or why chaos theory it called like that
rather than "theory of systems sensitive to initial state conditions"?

It's way cooler :-), way more compact and - once u're aware of the
general mechanism of checking out the precise meaning of each term you
use - not really confusing anymore.

It stays confusing for the general public? Yes. But then - and this is
perhaps the reason for which I don't see it as a huge problem in front
of the advantages - the general public's not going to do physics. Or
software. If they want to do, they need start studying - and in the end
they aren't general public anymore.. :)



Relevant Pages

  • Re: Sloppy Reporting: Dietary Carbohydates and TGs
    ... There is often more than one clear cut definition, ... phrase to popularly come to have a meaning the reverse of the original. ... Precision in meaning or pointless hair-splitting. ... recorded law or Cruel law. ...
    (alt.support.diabetes)
  • Re: Legal Principle
    ... Contract law requires precision in the use of language. ... will be buggerd when it comes to the legal test of any ... Consider the use of the word "untaken" - meaning what, ...
    (uk.legal)
  • Re: Is Class Synonymous with Type?
    ... I agree - if to do otherwise would be confusing. ... any more than this sentence is talking about defining "defining." ... meaning of "interface" to define a C# ...
    (microsoft.public.dotnet.languages.csharp)
  • Re: Definition Challenge
    ... that they do not have a precise meaning. ... Asserting false things as true is ... declared as "scientists" to determine if something is valid SH. ... I can't get any precision out of youses. ...
    (talk.origins)
  • Re: Definition Challenge
    ... that they do not have a precise meaning. ... Saying something is or is not a valid sci hypoth is meaningless ... I can't get any precision out of youses. ... Jane: "I disagree completely. ...
    (talk.origins)