In message "[ruby-talk:00557] Re: A new discussion topic ;-)"
    on 99/08/04, Clemens Hintze <c.hintze / gmx.net> writes:

|Hmmm! I understand, that you are not a minimalist. I think, I am not
|too. But I want to understand, WHAT would be the difference for you,
|to use objects, or classes.

I think you are still focusing on WHAT.

|>With classes some things go easier, so that I don't have to abondon
|>classes.  For exapmle, suppose you are explaining the prototype based
|>language;  you are going to say like this:
|>
|>  String objects have methods like chop, reverse, lower, etc.
|
|Or you could say:
|	Strings have methods like chop, reverse, ..., etc. You may
|	find a reference to a string prototype in variable `String'.
|	To create a new string, use the prototype's `clone' method, or
|	that of any other string!
|
|I really don't see the difference!

Don't you notice the term `string', which is naturally a class,
appears in your statement?

Most people, including me, tend to think with classes.  Of cource we
don't use the term `class' in daily life, but we often categorize
concepts into something like class.  For exapmle, when we see several
hairy animals, we extract shared attributes among them, and classify
them as `dogs'.  You can call them dogs if you don't know the
particular name of the instance.

With prototype model, you can't use the classfying tool like class.
You have to call the animal as `an animal sharing many attributes with
my pet, fred' or something like that.

Where classifying is natural, I'd like to use the tool like class,
which is easy for our mind.

Second of all, class works as a good place holder for functions
relating to the objects.  For exapmle, File::exist?(path) is not for a
method of the File objects, but strongly related to the files.

There really is the case where prototype model is useful.  I'd support
that case by singleton methods in Ruby.

                                                matz.