Noah said:
WW wrote: [SNIP]
On the contrary. The above snipped post is filled with technical
inaccuracies,
By all means point them out. At a very basic level I believe
everything was more or less correct.
You use OO *theoretical* terms (message, method) which have no equivalent
concepts in C++. For example in the system I make there are messages. They
involve several design patterns and they do work as in OO. But not because
C++ has messages.
"the only reason to call a method "member function" is
because it is what C++ programmer terminology uses"
No. The *only* reason because it is called member fucntion, because it is a
member function. The reason why it is nto called method is because there is
no one to one mapping between that OO theory term and the C++ language
features.
You yourself, in a disagreement with me,
claimed C++ supports the OO paradigm.
Where? I have said C++ is multiparadigm. You can cut with a Swiss army
knife like a normal knife. But talking about "the blade" is nonsense, since
it has more than one blade. It support the notion of knife but it is *not*
a knife. It is *more* than a knife. C++ supports the OO methodology, but
it is *not* an OO language. It is *more* than an OO language. That is why
some OO terms (and thanx to some other wonders like C heritage, ADL,
namespaces) does not one-to-one apply to it.
If this is true it must also support the terminology.
I have just proven it is not so.
If indeed C++ is multiparadigm (and it of course is)
then this is not a problem.
It would only be a bigger problem if C++ had no OO support whatsoever.
and absolutely fails the task to define the term method in
If you want to use differing terminology to avoid confusion between
C++ classes and OO Objects then I won't argue, it might even be a
good idea. In my opinion it is acceptable to use the OO terminology
in C++ if you are using the OO paradigm.
We are not using the OO paradigm here. We are using C++. As defined by the
standard. And the standard has no definition of such term as method. If
you whish to discuss OO methodology then go to comp.objects and start with
killfiling TopMind.
And to spell it out for you:
If you consider C++ classes to equate with OO objects
I don't.
then your "member functions" are indeed "methods",
Unfortunately yes and no. There is no one to one mapping for the
theoretical OO term "method" and C++ language terms.
your calls to "member functions" are messages,
They corellate to them.
your "member variables" are "instance variables"
except when they are of course "static member variables"
in which case they are now "class variables"
This is the only thing which I can accept as one-to-one, non-confusing
mapping.
(and yes, there is also "class methods").
Not in C++. In C++ there are static member functions. In C++ classes are
not first class objects.
The only other altered terminology that I can
think of off hand is that "Base classes"
are "Super classes" and "Derived"
classes are "Sub" classes.
And member functions. There is no term "methods", which has an unambiguous
definition, known by all. It is only good to create confusion and
misunderstanding. Just in this newsgroup I have seen already 3 different
people to sware on 3 different meanings for method in C++.
When you design the architecture you use these terms,
why not also use them as you write the code?
Simple. For the same reason you do not use the same terms in designing the
architecture of a house, and designing its bricks.
Yeah, it was.