I’ve just come across this email from Alan Kay who coined the term ‘Object-oriented programming’ at the end of the 60’s.
He says:
“OOP to me means only messaging, local retention and protection and hiding of state-process, and extreme late-binding of all things. It can be done in Smalltalk and in LISP. There are possibly other systems in which this is possible, but I’m not aware of them.”
IMHO, extreme late-binding of all things == duck typing…
So it seems that we can also include Ruby and Python with Smalltalk and LISP.
Life is cool ;-)