Alan Kay

Commentary on Kay

 * Kay wrote:".... 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....."

Rephrase into English language:  The key in making systems is how its modules communicate rather than what their hash maps and procedures should be. But hash maps and procedures is the fundamental ontology of computers. A "module" can only be a different term for data and the functions that maps said data. See Buko Ombele at Noun.


 * Kay wrote:"....I think I recall also pointing out that it is vitally important not just to have a complete metasystem, but to have fences that help guard the crossing of metaboundaries. ....."

This is known in analytic philosophy as a rhetorical tautology, a tautology is something which is always true due to its structural form such as the laws of logic,called logical tautologies. They can't be tested, because any test would have to use these same laws. Any attempt at testing these laws is a category error. Rhetorical tautologies in contrast are logical fallacies, since they guarantee the truth of the proposition due to its structural form by using two or more words that refer to the same concept making it impossible to subject the concept to empirical tests within the category of falsifiability. The terms "..guard the crossing ..." and "..boundaries..." states the same thing twice in the given context because with "boundary" we imply that it not be breached. By explicitly stating twice what is already inferred once, the attempt at interpreting the statement in the Popperian category is thwarted. Syllogisms prevent the derivation of non sequiturs from truisms, rhetorical tautology is an attempt at hiding the underlying truism. Because of the sheer irrefutable logic embedded in the rhetorical tautology, the inquirer is unable to identify intellectual fraud.

Original post by Kay
http://lists.squeakfoundation.org/pipermail/squeak-dev/1998-October/017019.html prototypes vs classes was: Re: Sun's HotSpot Alan Kay alank at wdi.disney.com Sat Oct 10 04:40:35 UTC 1998 Previous message: prototypes vs classes was: Re: Sun's HotSpot Next message: prototypes vs classes Messages sorted by: [ date ] [ thread ] [ subject ] [ author ] Folks --

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.

If you focus on just messaging -- and realize that a good metasystem can late bind the various 2nd level architectures used in objects -- then much of the language-, UI-, and OS based discussions on this thread are really quite moot. This was why I complained at the last OOPSLA that -- whereas at PARC we changed Smalltalk constantly, treating it always as a work in progress -- when ST hit the larger world, it was pretty much taken as "something just to be learned", as though it were Pascal or Algol. Smalltalk-80 never really was mutated into the next better versions of OOP. Given the current low state of programming in general, I think this is a real mistake.

I think I recall also pointing out that it is vitally important not just to have a complete metasystem, but to have fences that help guard the crossing of metaboundaries. One of the simplest of these was one of the motivations for my original excursions in the late sixties: the realization that assignments are a metalevel change from functions, and therefore should not be dealt with at the same level -- this was one of the motivations to encapsulate these kinds of state changes, and not let them be done willy nilly.

I would say that a system that allowed other metathings to be done in the ordinary course of programming (like changing what inheritance means, or what is an instance) is a bad design. (I believe that systems should allow these things, but the design should be such that there are clear fences that have to be crossed when serious extensions are made.)

I would suggest that more progress could be made if the smart and talented Squeak list would think more about what the next step in metaprogramming should be -- how can we get great power, parsimony, AND security of meaning?

Cheers to all,

Alan

oop videos
oop videos

Daniel Ingalls
https://www.youtube.com/watch?v=Ao9W93OxQ7U

Kay
https://www.youtube.com/watch?v=QjJaFG63Hlo

links
Noun, Nouns and verbs oop