David,
You raise many interesting points to which I will respond in more
detail when I am back home and have a reasonable email system to
use.
But I must quickly respond to one point you raise, in particular:
>The only new feature of OO is the ability to dynamically dispatch
>which is a form of operator overloading.
This is exactly right. I raised this point in a lecture once, and
the "OO guys" snickered in the background. They didn't get it!
Then, as many of you may remember, early C++ compilers did not get
NORMAL overloading correct. They didn't think to include the return
parameter of a function call (the ONLY procedures in C/C++) as part
of the procedure specification, for overloading purposes. They did
finally fix this.
More later.
sro