> I have alwasy considered data types such as strings, integers, floats,
> etc to be objects that just come "built in" to the language - simple
> objects, perhaps, but objects none-the-less.

A big problem I had when first trying to wrap my head around object oriented
programming was that the discipline has really co-opted very generic terms
(e.g. object) and given them a very specific meaning. I don't know if this
has helped or hurt OOP adoption. It definitely took me some time getting
used to.

Nevertheless, in order to make that initial break through with OOP, I had to
internalize the terminology. Part of that means differentiating between
intrinsic, primitive data types and full fledged objects. A lot has already
been written on this subject by people far brighter than I, so I won't
attempt a definition. I'll leave that to Google:

  http://www.google.com/search?hl=en&q=what+is+an+object

> Its kind of hard for me to explain but they do in fact model real
> world objects (words, sentencs, numbers, etc) and provide
> methods/operations that can be performed.

When building systems, the most natural thing to do is to model the entities
after real world objects. However, an important difference is that an object
-- in the OOP sense -- is self aware. A string primitive is very dumb. It
doesn't know how long it is.

A string object, on the other hand, can usually tell you all sorts of things
about itself. In fact, a string object will only tell you as much as the
string object wants you to know -- as much as is safe to tell you.

If you haven't checked it out already, you might want to pick up a copy of
the classic GofF book Design Patterns. Most of the patterns in that book are
discussed in the context of building a Word processor. I think that book is
very apropos to this discussion based on your examples of "words" and
"sentences" as objects.

> Maybe I use the term "object" too loosely in this regard - but if so
> it is a failing I will probably never fully get rid of  :O)

"Object" is about as generic a term as you can get. I guess we should be
happy that we're not calling everything "things". :) Nevertheless, in the
OOP sense, you are using it too loosely. You shouldn't forget what the word
"object" means to the rest of world, but you should definitely internalize
what it means in object oriented programming. Otherwise, you'll find the way
hard going. I know I did.

Ben Rogers
http://www.c4.net
v.508.240.0051
f.508.240.0057

----------------------------------------------------------
You are subscribed to cfcdev. To unsubscribe, send an email
to [EMAIL PROTECTED] with the words 'unsubscribe cfcdev' 
in the message of the email.

CFCDev is run by CFCZone (www.cfczone.org) and supported
by Mindtool, Corporation (www.mindtool.com).

An archive of the CFCDev list is available at 
www.mail-archive.com/[email protected]

Reply via email to