Friday, April 19, 2013

"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."

~Alan Kay

So my colleagues and I were having a discussion about object oriented programming (OOP) and exactly what it means today versus when the term was first coined by Alan Kay in the late 60’s. Specifically, whether prototype-based languages are truly object oriented as compared to class-based languages which are the mainstream. It’s very interesting to read Kay’s own take on the subject, and realize that what most of us consider to be OOP today resembles but little the original conception.