Object-Oriented Programming

Via a post at Pensieri di un lunatico minore I found this rather in rather intriguing old email from Alan Kay, the inventor of SmallTalk and of the concept of Object Oriented Programming. The email is in response to someone who asked Mr. Kay what his definition of Object Oriented Programming is. The response is quite enlightening, because it lacks many of the features most “experts” today claim are required for a language to be Object Oriented, and also because Kay’s description sounds quite a bit *unlike* many mainstream Object Oriented Languages (such as Java, and C#).

My favorite quote:

(I'm not against types, but I don't know of any type systems that 

aren't a complete pain, so I still like dynamic typing.)

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.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s