The Big Idea: Messaging
On the subject of software and the problems we face in its construction, I've often noted my feelings regarding communication being an important but understated problem. A few days ago, I stumbled onto an old (1998) post by Alan Kay:
"Just a gentle reminder that I took some pains at the last OOPSLA to try to remind everyone that Smalltalk is not only NOT its syntax or the class library, it is not even about classes. I'm sorry that I long ago coined the term 'objects' for this topic because it gets many people to focus on the lesser idea.
The big idea is 'messaging' - that is what the kernal of Smalltalk/Squeak is all about (and it's something that was never quite completed in our Xerox PARC phase). The Japanese have a small word - ma - for 'that which is in between' - perhaps the nearest English equivalent is 'interstitial'. The key in making great and growable systems is much more to design how its modules communicate rather than what their internal properties and behaviors should be. Think of the internet - to live, it (a) has to allow many different kinds of ideas and realizations that are beyond any single standard and (b) to allow varying degrees of safe interoperability between these ideas..."
link
"Just a gentle reminder that I took some pains at the last OOPSLA to try to remind everyone that Smalltalk is not only NOT its syntax or the class library, it is not even about classes. I'm sorry that I long ago coined the term 'objects' for this topic because it gets many people to focus on the lesser idea.
The big idea is 'messaging' - that is what the kernal of Smalltalk/Squeak is all about (and it's something that was never quite completed in our Xerox PARC phase). The Japanese have a small word - ma - for 'that which is in between' - perhaps the nearest English equivalent is 'interstitial'. The key in making great and growable systems is much more to design how its modules communicate rather than what their internal properties and behaviors should be. Think of the internet - to live, it (a) has to allow many different kinds of ideas and realizations that are beyond any single standard and (b) to allow varying degrees of safe interoperability between these ideas..."
link