123 lines
4.9 KiB
Markdown
123 lines
4.9 KiB
Markdown
---
|
|
created_at: '2016-06-24T04:45:37.000Z'
|
|
title: Alan Kay on the misunderstanding of OOP (1998)
|
|
url: http://lists.squeakfoundation.org/pipermail/squeak-dev/1998-October/017019.html
|
|
author: mmphosis
|
|
points: 240
|
|
story_text:
|
|
comment_text:
|
|
num_comments: 206
|
|
story_id:
|
|
story_title:
|
|
story_url:
|
|
parent_id:
|
|
created_at_i: 1466743537
|
|
_tags:
|
|
- story
|
|
- author_mmphosis
|
|
- story_11966570
|
|
objectID: '11966570'
|
|
|
|
---
|
|
[Source](http://lists.squeakfoundation.org/pipermail/squeak-dev/1998-October/017019.html "Permalink to prototypes vs classes was: Re: Sun's HotSpot
|
|
")
|
|
|
|
# prototypes vs classes was: Re: Sun's HotSpot
|
|
|
|
|
|
|
|
| ----- |
|
|
|
|
| ![][1] | |
|
|
|
|
|
|
|
|
|
|
|
|
## prototypes vs classes was: Re: Sun's HotSpot
|
|
|
|
**Alan Kay** [alank at wdi.disney.com ][2]
|
|
_Sat Oct 10 04:40:35 UTC 1998_
|
|
|
|
* Previous message: [prototypes vs classes was: Re: Sun's HotSpot ][3]
|
|
* Next message: [prototypes vs classes ][4]
|
|
* **Messages sorted by:** [[ date ]][5] [[ thread ]][6] [[ subject ]][7] [[ author ]][8]
|
|
* * *
|
|
|
|
|
|
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
|
|
|
|
|
|
|
|
|
|
|
|
* * *
|
|
* Previous message: [prototypes vs classes was: Re: Sun's HotSpot ][3]
|
|
* Next message: [prototypes vs classes ][4]
|
|
* **Messages sorted by:** [[ date ]][5] [[ thread ]][6] [[ subject ]][7] [[ author ]][8]
|
|
* * *
|
|
|
|
[More information about the Squeak-dev mailing list][9]
|
|
|
|
|
|
|
|
|
|
|
|
[1]: http://lists.squeakfoundation.org/pipermail/squeak-dev/images/sf_topleft.gif
|
|
[2]: mailto:squeak-dev%40lists.squeakfoundation.org?Subject=prototypes%20vs%20classes%20was%3A%20Re%3A%20Sun%27s%20HotSpot&In-Reply-To=1.5.4.32.19981009224644.00ac6e90%40mail.frii.com "prototypes vs classes was: Re: Sun's HotSpot"
|
|
[3]: http://lists.squeakfoundation.org/008838.html
|
|
[4]: http://lists.squeakfoundation.org/012126.html
|
|
[5]: http://lists.squeakfoundation.org/date.html#17019
|
|
[6]: http://lists.squeakfoundation.org/thread.html#17019
|
|
[7]: http://lists.squeakfoundation.org/subject.html#17019
|
|
[8]: http://lists.squeakfoundation.org/author.html#17019
|
|
[9]: http://lists.squeakfoundation.org/cgi-bin/mailman/listinfo/squeak-dev
|
|
|