Re: c.d.theory glossary -- definition of "class"

From: Dawn M. Wolthuis <dwolt_at_tincat-group.com>
Date: Thu, 24 Jun 2004 22:08:54 -0500
Message-ID: <cbg509$rnm$1_at_news.netins.net>


"x" <x-false_at_yahoo.com> wrote in message news:40dae4ad$1_at_post.usenet.com...
> **** Post for FREE via your newsreader at post.usenet.com ****
>
>
> "Alfredo Novoa" <alfredo_at_ncs.es> wrote in message
> news:e4330f45.0406240421.3558d056_at_posting.google.com...
>
> > No, the behavior IS the manner in which something functions or
> > operates.
> > www.dictionary.com

There's input (and domains/types from which these come), output (similarly from a domain, aka range set) and functions that apply to the input, giving us output. Behavior is a way of talking about valid functions on specified input, describing the output. If one is discussing the functions and the input and output types using mathematics, then "behavior" could be defined, but I think it is typically used as a more informal term.

> > "Manner" and "something" are also fuzzy terms.
>
> No. Fuzzy is a fuzzy term :-)

In the fuzzy set of all fuzzy terms, my inclination would be to include the element ("fuzzy", 0.1) but ("behavior", 0.9)

> Here "something" is a unnamed variable :-)
> And some words cannot be defined by other words in a noncircular manner
> :-).
>
> > Types imply some behavior, although they are constant, variables imply
> > some behavior, integrity constraints imply some behavior, derivation
> > rules imply some behavior, operators imply some behavior, etc.
>
> > There is database behavior, application behavior, presentation
> > behavior, user's behavior, good behavior, bad behavior and many other
> > behaviors.
>
> Code is data and data is code :-)

Amen, brother!

> It seems you know what is a behavior despite the fuzzy terms :-)
>
> > I don't see any usefulness in the term having a lot more precise terms
> > like:
> > type, variable, value and operator. Probably the four key terms in
> > computer language theory.
> >
> > > > Yes if we have alternatives with only one meaning.
> > >
> > > Not if these disregard valuable notions.
>
> > What valuable notions "class" and "behavior" have that we can not find
> > in the more precise terms?

The terms do not have intrinsic precision or lack thereof -- the definitions we give these are what can help with precision. The fact that they are overloaded terms need not be problematic. Surely "type" is also overloaded in some type of way.

> I agree. Class is an overloaded word :-)
>
> > > Well, yes. But IMHO there is an essential, (dynamic) notion
> > > getting lost if we use 'type' as a would-be synonym.
>
> > Can you clarify this?
> > When class means type it means type and nothing more.
>
> > Types have operators, and operators act on values, thus they have
> > behavior :)
>
> No. The actors act and the operators operate. :-)
> The behavior create types. :-)
> And there are different types of behavior. :-)

And these tend to align with different functions (potentially operating on different domains/types).
The term "behavior" gives an anthropomorphic bent to software components, which can serve as a useful metaphor, but doesn't really add a new concept to the mix. We can persist data now too, but we still end up storing it.

> > BTW "have" is an extremely ambiguous word :-)
> >
> > http://dictionary.reference.com/search?q=have
> >
> > > So am I. Extending 'type' just blurs. It does not help.
>
> > We don't need any extension. Types have operators.
>
> And operators have types. :-)

Yup, data are functions and functions are data.

> Funny :-)

yup. --dawn Received on Fri Jun 25 2004 - 05:08:54 CEST

Original text of this message