> You see, the semantics of a function depends on the class within which
it’s
declared, it’s no longer necessarily fixed and global. If you want to
know
what a function does, you must look at the .h file ! That’s the C++ way.
The whole point of a named function in a programming language is to
represent some larger (previously-debugged) series of operations by means of
a single mnemonic. If I have to consult a header file every time I call
function X, just to make sure I’m remembering the right semantic context (or
risk getting unexpected results), then I might as well just retype the
series of operations myself. The function becomes a burden rather than a
useful tool.
There’s a term in usability engineering called “affordances.” Human beings
make shortcut decisions about how something will behave based on previous
experiece with similar objects. If something looks like a faucet, then when
I turn it, I expect liquid (or gas) to come out. I don’t expect the lights
to dim, or music to begin playing, or the front door to open. If something
looks like a shift operator, then it ought to be doing some shifting.
The notion that “every operator is just a reassignable name” is an
interesting academic concept, but it doesn’t reflect the way human beings
actually work. It doesn’t improve productivity. In practice, it causes
problems.
BTW: Every word I’ve typed so far is really just a reassignable symbol. The
correct meaning of this posting is something entirely different than the
meaning you’ve just given it. Consult the relevant header files…
)-; (dyslexic version)
Regards,
Art Baker
You are currently subscribed to ntdev as: $subst(‘Recip.EmailAddr’)
To unsubscribe send a blank email to leave-ntdev-$subst(‘Recip.MemberIDChar’)@lists.osr.com