You should note at the outset that Common Lisp’s object system offers a fairly different embodiment of the principles of object orientation than many other languages. If you have a deep understanding of the fundamental ideas behind object orientation, you’ll likely appreciate the particularly powerful and general way Common Lisp manifests those ideas. On the other hand, if your experience with object orientation has been largely with a single language, you may find Common Lisp’s approach somewhat foreign; you should try to avoid assuming that there’s only one way for a language to support object orientation.
He added in afootnote:
Indeed, Alan Kay, the inventor of Smalltalk, is reported to have said, “I invented the term object oriented, and I can tell you that C++ wasn’t what I had in mind.”
I am not going to go into any detail as to Lisp’s idea of OO, but what was important for me here was realizing that C++ and Java’s way of handling OO (and many other things) was only one way, not the way. Although I have not gone on to use much Lisp for my day-to-day programming, the act of learning Lisp has changed my programming style more than anything else.