Auto Scroll
Select text to annotate, Click play in YouTube to begin
[Music] [Music] thank you well I presume most of you have been up all night can't imagine ever seeing this
many programmers at 8 o'clock in the morning guess this is the largest
bathroom I've ever given a talk in so that was just a test to see if you could understand me I can't actually understand myself up here now actually
haven't been to ups less since the the first one and when I got invited to give this talk I was thinking about well
should I should I go or should I not or what should I do and it occurred to me that this conference on this day is
pretty much in the epicenter of the 25th anniversary of small talk the [Applause]
the one-page interpreter scheme that I wrote out I was done just a few weeks ago 25 years ago and the first working version of it was done a few weeks from
now 25 years ago so this is about in the center and let me see if I can get our motto up on could I have that first slide please
so now I thought one way I didn't want it I'm not going to give a historical talk because I finally discharged those obligations in the history of programming languages conference a couple of years ago but I thought it
might be interesting interesting for some of you who might not have been computing for the last 25 or 30 years to take a two minute trip I believe that
this set of images is basically goes back to 1973 in 1974 at Xerox PARC shows some of the first children that we
worked with the music that you'll hear on this clip was composed by one of the members of our group Chris Jeffers it's called the happy hacker in case you want
a theme song is played in the real-time FM synthesis that we developed for the alto computer so this is the first the forerunner of the workstations and the
Macintosh without any additional sound synthesis hardware at all because why should you have that if your computer is designed well and you'll just get a I
think you'll get a little picture of it before I turn on that clip let's just for the heck of it see how many people are in this room today who participated in the Xerox PARC small talk experience
between roughly 1971 and 1983 could you stand up let's see if we how many people are we hear anybody without gray hair thank
you okay let's roll that that clip [Music]
well that was things as they existed about 25 years ago and the other thing I want to do in the beginning part of this
talk tried to figure out how to work my way into it and I finally remembered the paper that Dijkstra I don't know how many of you have ever met Dijkstra but
you probably know that arrogance in computer science is measured in Nano Dijkstra's and he once wrote a a paper of the kind that you like to write a lot of which
had the title on the fact that the Atlantic has two sides and it was basically all about how different the approaches to computing science were in
Europe especially in in Holland and and in the United States and there many interesting you know in the u.s. here we
were not mathematical enough and Gian in Holland if you're a full professor you're actually appointed by the Queen and there are many other important
distinctions made between the the two cultures so I wrote a rebuttal paper just called on the fact that most of the software in the world is written on one
side of the Atlantic and it was basically about cuz I had a math degree to was basically about that computers
form a new kind of math you can't judge them they don't really fit well into classical math and people who try to do that are basically indulging a form of
masturbation maybe even realizing it and was about that was a kind of a practical math that was the balance was between making structures that were
supposed to be consistent of a much larger kind than classical math had ever come close to dreaming of attempting and having to deal with exact same problems
the classical math of any size has to deal with which is being able to be convincing about having covered all of the cases there was a mathematician by
the name of Euler whose speculations about what might be true formed 20 large books that most of them were true most of them were right almost all of his
proofs were wrong and many PhDs in mathematics in the last and this century have been formed by mathematicians going to Euler's books finding one of his
proof showing it was a bad proof and then guessing that his insight was probably correct and finding a much more convincing proof and so debugging
actually goes on in mathematics as well and I think that the I think the main thing about doing oop work or any kind
of programming work is that there has to be some exquisite blend between beauty and practicality there's no reason to
sacrifice either one of those and people who are willing to sacrifice either one of those I don't think really get what computing is all about it's like saying I have really great ideas for paintings
but I'm just going to use a brush but no paint you know so my ideas will be represented by the gestures I make over the paper and don't tell any twentieth
century artists that or they might decide make a videotape of them doing that and put it in a museum so I thought at this
problem figuring out what to talk about it's always difficult because technical people always seem to know so much but it's interesting to again to look at
what's actually being done out in the world under the name of OOP and I've been shown some very very strange looking pieces of code over the years by
various people including people in universities that they have said is code and written in an OOP language and actually I made up the term
object-oriented and I can tell you I did not have C++ in mind [Applause]
so the important thing here is I have many of the same feelings about small talk and I'm going to try and extend here because I think there's one really
important thing about small talk and some of the languages like it that we should pay really really close attention to but it has almost nothing to do with
either the syntax or the accumulated superclass library both of which of these are taken as being the language as
though it was issued from some gods on Olympus so I want to talk a little bit more about my personal reaction to when I started thinking about it in the in
the 60s and instead of making it a historical talk to try and think about whether these reactions and and insights have any place today so let me I'll just
move so I guess my slide thing doesn't work maybe it does yeah just go to that there's a blank slide there just go to
the next one so in the 60s things were quite mechanical there's a sense of simple mechanism because computers of
course were as large as as its room some of them the one that Ivan Sutherland did sketchpad on was the size of this room was one of the last computers in the u.s. large enough to have its own roof
it was the building it was in but the programs were quite small and they had a lot in common with their mathematical
antecedents and one way of thinking about the semantics of of math that is based on logic is as interlocking gears
everything kind of has to fit together and if it does and everything is compatible at the end you get the final turning of the shaft that that you want
and sort of a real world analogy go the next slide please whoops so we missed the slide go back to slides please there we go so an analogy to these
programs of the 60s is a dog house you take any random boards nail and hammer pound them together and you've got a structure that will stay up you don't
have to know anything except how to pound a nail to do that now somebody could come along and look at this doghouse and say wow if we could just expand that by a factor of 100 we could
make ourselves a cathedral it's about three feet high that would give us something 30 stories high and that would be really impressive we could get a lot of people in there and so the Carpenters
would set to work blowing this thing up by a factor of 100 now we all know being engineers in scientists that when you blow something up by a factor of a hundred its mass
goes up by a factor of a million and it's strength which is mostly due to cross-sections of things only goes up by a factor of 10,000 so when you blow
something up by a factor of 100 it gets about a factor of 100 weaker in its ability and in fact what will happen to this doghouse it will just collapse into a pile of rubble and then there are two
choices you can have when that happens the most popular one is to say well that was what we were trying to do all along put more garbage on it plaster it over with limestone and say yes we were
really trying to do pyramids not Gothic cathedrals that in fact I think accounts for much of the structure of modern operating systems today or you can come up with a new concept
which the people who started getting interested in complex structures many years ago did they called it architecture literally the designing and
building of successful arches a non obvious nonlinear interaction between simple materials to give you non-obvious
synergies and a vast multiplication of materials it's quite remarkable to people when I tell them that the amount of material in Chartres Cathedral which
is an enormous physical structure is less than the amount of material that was put into the Parthenon and the reason is it's almost all air in almost
all glass everything is cunningly organized in a beautiful structure to make the whole have much more integrity than any of its parts so that's the
other way you can go and part of the message of who was that as complexity starts becoming more and more important architecture is always going to dominate
material and in fact the sad fact I think about OBE is people didn't get interested in architecture because of the beauty of it
they're only starting to get interested in architecture now when the Internet is forcing everybody to do it that's pretty pathetic so I'm going to use a metaphor here for
this talk which is drawn from a wonderful book called the act of creation by Arthur Kessler Kessler was a novelist who became a cognitive
scientist in his later years and one of the great books he wrote was about what might creativity be learning he realized that learning of course is an act of
creation itself because something happens in you that wasn't there before and used in a the metaphor of thoughts
as ants crawling on a plane this case it's a pink pink plane and there's a lot of things you can do on a pink plane you can have goals you can choose directions
you can move along but you're basically always in the pink context and if you think about that that means that progress in a fixed context is almost
always a form of optimization because if you're actually coming up with something new it wouldn't have been part of the the rules or the context for what the
pink plane is all about so creative acts generally are ones that don't stay in the in the same context that they are in so he says every once in a while even
though you've been taught carefully by parents and by school for many years you have a blue idea maybe when you're taking a shower maybe when you're out
jogging maybe when you're resting in an unguarded moment suddenly that thing that you were puzzling about wondering about looking at appears to you in a
completely different light as though it were something else and Kessler said the emotional reaction to this comes basically in three forms which is if you're telling a joke
it's haha if you're doing science it's a ha and if you're doing art it's ah he says because in each case something very similar is happening a
joke takes you down the garden path and then suddenly reveals it's about something else and you get a very aggressive explosion and science has
much of the same feeling to it and often when you see something in science you start laughing because it was right there in front of you and it is a kind of a joke and of course art is there to
remind us great art is there to remind us that whatever context we think we're in there are other contexts art is always there to take us out of the context that we're in and make us aware
of other other contexts so this is a very simple you could even call it a simple-minded metaphor but it will certainly serve for for this talk today
and he also pointed out that you have to have something blue to have blue thoughts with I think this is generally
missed in people who specialized to the extent of anything else when you specialized you're basically putting yourself into a mental state where optimization is pretty much all you can
do have to learn lots of different kinds of things in order to have the start of these other contexts so here's a couple
of hit knocks on the head I had over the years that I just want to tell them to you quickly this one I think you'll find interesting because it is the earliest known form of what we call data
abstraction it goes all the way back actually pre 1961 I was in in the Air Force in 1961 and I saw it in 1961 and
it probably goes back one year before and so back then they didn't really have operating systems they had Air Training Command had to send tapes of many kinds
of records around from Air Force Base to Air Force Base there's a question of how could you deal with all of these things that used to be card images and then because tape had come in we're starting
to be more and more complicated formats and somebody almost certainly an enlisted man because officers didn't program back then came up with a coming
up with the following idea this person said on the third part of the record on this tape we'll put all of the records
of this particular type the second part the middle part we'll put all of the procedures that know how to deal with
the format's on this third part of the tape and in the first part we'll put pointers into the procedures and in fact let's make the first 10 or so pointers
standard like reading and writing fields and trying to print and them let's have a standard vocabulary for the verse 10 of these and then we can have videos and kradic ones later on and so all you have
to do to read a tape back in 1961 was to read the front part of a record one of these big records into core storage and start jumping in direct through the
pointers and the procedures were there now really would like you to contrast that with what you have to do with HTML on the Internet think about it HTML on the Internet has
gone back to the dark ages because it presupposes that there should be a browser that should under stand it's formats this has to be one of
the worst ideas since ms-dos this is really a shame it's it's maybe what happens when you when physicists decide
to play with computers I'm not sure and in fact we can see what's happened to the internet now is it's gradually getting the two wars going on there's a set of browser Wars which are 100%
irrelevant they're basically an attempt either at demonstrating a non understanding of how to build complex systems or a even cruder attempt simply
to gather territory which I suspect Microsoft is in the latter camp here you don't need a browser if you followed
what this staff sergeant in the Air Force knew how to do in 1961 you just read it in it should travel with all the
things that it needs and you don't need anything more complex than something like X Windows hopefully better but basically you want to be able to
distribute all the knowledge of all of these things that are there and in fact the Internet is starting to move in that direction as people discover ever more complex HTML formats ever more
intractable this is one of these mistakes that has been recapitulated every generation and it's just simply not the way to do it so here's a great idea by the way this this kind of
programming was done before there were higher-level languages in the airforce and this but this approach to things was forced out of the Air Force by COBOL
when they standardized on COBOL Ivan Sutherlands sketchpad I've usually shown a movie of what it was like I won't I won't today immensely
sophisticated almost staggering in its conception of what it was able to do very much in an object-oriented system it had an actual notion of classes and
subclasses it had a notion of polymorphism even stronger than the the eighth Air Training Command version next
slide please now that I'd seen the idea three or four times but wasn't till I had to figure out Simula we thought it was supposed to
be an algal and it turned out the this pile of tapes was a was the first Simula an algal that had been doctored by Case Western Reserve and the inventors of
Simula Nygaard and dal in Norway and distributed along with some incomprehensible documentation in 1966 and it was through trying to understand
what Simula was that finally I'm not sure exactly why it's just I think it's maybe if you see a good idea that's odd four times and four different costumes
it finally starts to make an impression and here's the the choice you have when you're faced with something new you can
take this technological advance and you can decide this is a better way of doing the stuff I'm doing now and I can use this to continue on the path that I'm
going that's staying in the pink plane or you can say this is not a better old thing this is almost a new thing and I wonder what that new thing is trying to be and if you do that there's a chance
of actually perhaps gaining some incredible leverage over simply optimizing something that can't be optimized very much so the choice here
was Simula came out of the world of data structures and procedures and had much of that flavor if you wanted to look at it that way but it had a way of making
relationships of the states of your computation with procedures that was extremely helpful and much better and more general than the what we call
own variables in Algol 60 so that was one way to think of it then there's this other question of if it was almost a new thing what kind of a new thing was it
well one of my undergraduate majors was in molecular biology in my particular interest was both in cell physiology and in embryology morphogenesis they call it
today in this book molecular biology of gene had just come out in 1965 and wonderful book still in print and of course it's gone through many many
editions and they're probably the only words that are common between the this book and the one of today are the are the articles like the in and actually the word gene I think is still in there
but it means something completely different now but one of the things that Watson did in this book was to make an assay first assay of an entire living
creature and that was the e.coli bacteria next slide please so if you look inside one of these the
complexity is staggering those popcorn things are protein molecules that have about 5000 atoms in them and as you can
see on the slide when you get rid of the small molecules like water and calcium ions and potassium ions and so forth constitute about 70% of the mass of this
thing the 30% that remains has about 120 million components that interact with each other in an informational way and
each one of these components have as carries quite a bit of information and you can think of it you know the simple simple minded way of thinking of these
things is it works kind of like ops five there's a pattern matcher and then there are things that happen if patterns are matched successfully so the state that's
involved in that is about a hundred gigs and you can multiply that out today it's only only 100 desktops or so but it's
still still pretty impressive as a as amount of computation and maybe the most interesting thing about this structure is that the rapidity of computation
seriously rivals that of computers today particularly when you're considering it's done in done in parallel for example one of those popcorn sized things moves its own length in just two
nanoseconds so one way of visualizing that is if an atom was the size of a tennis ball then one of these protein molecules will be about the size of a Volkswagen and
it's moving its own length in two nanoseconds that's about eight feet on our scale of things and can anybody do the arithmetic to
tell me what fraction of the speed of light moving eight feet in two nanoseconds is four times yeah four
times the speed of light scale so if you ever wondered why chemistry works this is why the thermal agitation down there is so unbelievably violent that we could
not imagine it even with the aid of computers there's nothing to be seen inside one of these things until you kill it because it is just a complete
blur of activity and in under good conditions it only takes about 15 to 18 minutes for one of these two completely duped hiriam of course lots more is
known today then another fact to relate this to us is that these bacteria about 1 5 hundredth the size of the cells in our bodies which instead of 120 million
informational components have about 60 billion and we have between 10 to the 12th and 10 to the 13th maybe even more
of these cells in our body and yet only 50 cell divisions happen in the nine month pregnancy only takes 50 cell
divisions to make a baby actually if you multiply it out you realize you only need around 40 and the extra 10 powers of 10 are there because during the
embryo logical process many of the cells that are not fit in one way or another for the organism as a whole are killed so things are done by over proliferating
testing and trimming to this much larger plant then of course each one of these structures us is embedded in an enormous
biomass so to a person who's blue context might have been biology something like a computer could not possibly be regarded as being
particularly complex or large or fast slow small stupid that's what computers are so the question is how can we get
them to realize their destiny next slide please as we're using a form of technology that that monopoly n' use which remember
those semaphore is across France so the the shift in point of view here is from mechanic's oh there's this problem if you take things like dog houses they
don't scale by a factor of 100 very well you take things like clocks they don't scale by a factor of 100 very well take things like cells they not under scale
by factors of 100 but by factors of a trillion and the question is how do they do it and how might we adapt this idea
for building complex systems okay this is the simple one this is one by the way that C++ is still not figured out though there's no idea so simple and powerful
that you can't get zillions of people to misunderstand it so you must must must not allow the interior of any one of
these things to be a factor in the computation of the whole okay and this is only part of the story it's not just the cell cell membrane is there to keep
most things out as much as it is there to keep certain things in and a lot of I think are confusion with objects is the
problem that in our Western culture we have a language that has very hard nouns and verbs in it so we are process words stink so it's much easier for us when we
think of an object and I'm I have apologized profusely over the last 20 years for making up the term object-oriented because as soon as it
started to be Mis applied I realized they should have used a much more process-oriented term for now the Japanese have an interesting word which
is called ma spelled in English just ma ma and in ma is the stuff in between what we call objects the stuff we don't
see because we're focused on the nowness of things rather than the process list of things whereas the in japanese has a more processed feel oriented way of
looking at how things relate to each other you can always tell that by looking at the size of a word it takes to express something that is important so ma is very short we have to use words
like interstitial or worse to approximate what what the Japanese are talking about so the realization here
and it's not possible to assign this realization to any particular person because it was in the seeds of sketchpad and in the seeds of the 8th Air Training
Command file system and in the seeds of Simula and that is that once you have encapsulated in such a way that there is an interface between the inside and the
outside it is possible to make an object act like anything and the reason is simply this that what you have encapsulated is a computer so you've done a powerful thing in computer
science which is to take the powerful thing you're working on and not lose it by partitioning up your design space this is the bug and data procedures data
and procedure languages and I think this is the most pernicious thing about languages like C++ and Java is that they think they're helping the programmer Buy in
by looking as much like the old thing as possible but in fact they're hurting the programmer terribly by making it difficult for the programmer to understand what's really powerful about this new metaphor so that now again
people who are doing time sharing systems had already figured this out as well Butler Lampson thesis in 1965 was about that what you want to give a person on a
time sharing system is something that is now called a virtual machine which is and not that not the same as what the Java VM is but something something that
is as much like the physical computer as possible but give one separately to everybody UNIX had that sense about it and the biggest problem with that scheme is that
a UNIX process had an overhead of about two thousand bytes just to have a process and so it was going to be very difficult in UNIX to let a UNIX process
just be the number three so you'd be going from three bits to a couple of thousand bytes and you have this problem with scaling so a lot of the problem here is both deciding that the
biological metaphor is the one that is going to win out over the next 25 years or so and then committing to it enough to get it so it can be practical at all
of the levels of scale that we actually need then we have one trick we can do that biology doesn't know how to do which is we can take the DNA out of the
cells and that allows us to deal with cystic fibrosis much more easily than the way it's done today and systems do have cystic fibrosis and some of you may
know that if cystic fibrosis today for some people is treated by infecting them with a virus a modified cold virus giving them a lung infection
but the defective gene for cystic fibrosis is in this cold virus and the cold virus is too weak to actually destroy the lungs like pneumonia does but it is strong enough to insert a copy
of that gene in every cell in the lungs and that is what does the trick that's it's a very complicated way of reprogramming an organism's DNA once it
has gotten started so here's one that it is amazing to me that we haven't seen more for instance one of the most amazing things to me of people who have been trying to put up on the Internet is
that I do not and I'm hoping somebody will come up afterwards and tell me of an exception to this but I do not know of anybody yet who has realized that at the very least every object should have
a URL because what the heck are they if they aren't these things and I believe that every object on the Internet should have an IP because that represents much
better what the actual abstractions are of physical hardware to to to the bits so this is an early insight that objects
basically are like servers and this notion of polymorphism which used to be called generic procedures is a way of thinking about classes of these servers
everybody knows about that and here's one that we haven't really faced up to much yet that now we have to construct this stuff and soon will be
required to grow it so it's very easy for instance to grow a baby six inches they do it about ten times in their life you never have to take it down for
maintenance but if trying grow a 747 you are faced with an unbelievable problem because it's in a it's in this simple-minded mechanical world in which the only object has been
to make the artifact in the first place not to fix it not to change it not to let it live for a hundred years so let me ask a question just I won't take
names but how many people here still use a language that essentially forces you in the development system forces you to
develop outside of the language compile and reload and go even if it's fast like JA virtual cafe how many how many here
still still do that let's just see come on admit it we can have a Texas tent meeting later yeah so if you think about that that cannot possibly be other than
a dead end for building complex systems where much of the building of complex systems is in part going to go to trying to understand what the possibilities for
interoperability is with things that already exist now I was a just played a very minor part in the design of the ARPANET I was one of thirty graduate students who went to systems design
meetings to try and formulate design principles for the the ARPANET also about 30 30 years ago and the if you think about what the ARP the ARPANET of
course became the internet and from the time it started running just around 1969 or so to this day it was expanded by
about a factor of 100 million so that's pretty good eight orders of magnitude and there's as far as anybody can tell I talked to
Larry Roberts about this the other day there is not one physical atom in the Internet today that was in the original ARPANET and there was not one
line of code in the internet today that was in the original ARPANET of course we'd had IBM mainframes in the original
ARPANET that wouldn't have been true so this is a system that is expanded by a hundred million has changed every atom in every bit and has never had to stop
that is the metaphor we absolutely must apply to what we think are smaller things when we think programming is small that's why your programs are so
big that's why they become pyramids instead of Gothic cathedrals next okay here's the other big source
certainly the greatest single language along with Simula of the 60s I think one with as many profound or more profound
insights list on page 13 of this book that was published in 1962 there's a half page of code which is the reflective model of Lisp written in
itself all the important details of Lisp semantics and the guidelines for how to make a list interpreter are in that half page and it is this aspect this meta
reflective aspect that I think is the to me is the the saddest thing about what's happening with Java when Java first
happened I thought well it's legitimizing something that most people have not believed in for a long time which is this byte code approach of being multi-platform like we had at
Xerox PARC it's not a new idea it actually goes back into the into the 60s but when I looked at job I thought my goodness how could they possibly and of course we know that the history was not
was more about programming toasters originally then them being on the Internet but my goodness how do they hope to survive all of the changes
modifications adaptations in interoperability requirements without a meta system without even for instance being able to load new things in while
you're running so to me this is the fact that people adopted this as some great hope is probably the most distressing thing to be personally as I said since the ms-dos and it represents a real
failure of people to understand what the larger picture is and is going to be next slide so this
notion of metaprogramming lots of different ways of looking at it one of them is that any particular implementation is making pragmatic
choices and these pragmatic choices are likely not to be able to cover all of the cases in the at the level of efficiency and even at the level of
richness required of course this is standard OOP lore this is why we encapsulate we need to hide our messes we need to have different ways of
dealing with this with the same concepts in a way that does not distract the programmer but in fact it's also applicable as the list people found and
we at Xerox PARC found you can also apply it to the building of the language itself the more the language can see its own structures the more liberated you
can be from the tyranny of a single implementation I think this is one of the most critical things that very few people are worrying about in a practical
form one of the reasons why this meta stuff is going to be important in such a way that nobody will be able to ignore it is this whole question of how do we
really interrupt operate on the Internet five and ten years from now if you think about it I don't believe Microsoft is going to be able to capture the Internet
I think it's too big I think there are too many people supplying ideas into it and I think that people are going to be sophisticated enough to realize that an IBM or a Microsoft type solution is
simply neither called for nor possible what that means is they're going to be dozens and does they're almost already are dozens and
dozens of different object systems all with very similar semantics but with very different pragmatic details and if you think of what a URL actually is and
you think of what an HTTP message actually is you can think of what an object actually is and if you think of what an object-oriented pointer actually is I think it should be pretty clear
that any object-oriented language can internalize its own local pointers to any object in the world regardless of where it was made that's the whole point
of not being able to see inside and so a semantic interoperability is possible almost immediately by simply taking that
stance so this is going to change really everything and things like Java beans and CORBA are not going to are not going to suffice because at some point one is
going to have to start really discovering what objects think they can do and this is going to lead to a universal interface language which is
not a programming language per se it's more like a prototyping language but that allows an interchange of deep information about what objects think
they can do allows objects to make experiments with other objects in a safe way to see how they respond to various messages this is going to be a critical thing to automate in the next 10 years
next slide so here's a great book how many people read this book ok so when they wrote this book I called them up I said this is the best book anybody's
written in 10 years but why the hell did you write it in such a Lisp centric closed club centric way this is a hard book for
most people to read if you don't know the list culture it's very hard to read if you don't know how si los is done it's a very hard book to read this book
has some of the most profound insights about and the most practical insights about OOP than anybody has done in the last many years so I really commend it
to you and if there any university professors here who would like to get the next Limoge balloon I will give it to anybody who rewrites that book so
that the general object-oriented community can understand it would be a great service to mankind so what
happened in most of the world starting in this in the 70s was abstract data types which is really staying with an assignment centered way of thinking
about programming and I believe that in fact when I made this slide C++ was not a was not was just sort of a speck on the horizon was not it's one of those
things like ms-dos that nobody took seriously because who would ever fall for a joke like that next slide please
- my favorite C++ story is at Apple there is this operating system remarkably coincidentally named pink
it's so great and there are two interesting features of this new operating system that they're working on one was was always going to be done in
two years and you know we have known some really great operating systems designers over over the years and I do not know of any decent operating system has ever been done in two years even by
people who had ten times the IQ of the of the pink people and the other thing about it was that it was going to be done in C++ for efficiency oh let's not
do it in small talk that's too slow well let me tell you there's nothing more inefficient than spending ten years on an operating system that never works actually the worst ones are the ones
that appear to work [Applause] so let's let's take our pink plane and we can also use this McLuhan quote my
favorite McLuhan quote I don't know who discovered water but it wasn't a fish and he he meant us as the fish and he meant water as our belief structures as our context I believe this is the single
if you had to pick one cause of both particular difficulty in our field and also general difficulty in the human race it's taking single points of view and committing to them like their
religions this this happened with small talk there's a wonderful quote by Schopenhauer German philosopher of the nineteen nineteenth century who said every idea goes through three stages
first it's denounced as the work of madmen this is what Swift called confederacy of dunces and then later
it's remarked as being totally obvious the whole time and then the last stage is when the original denouncer was
claimed to have invented it that's when it gets in its religious stage now one of the to me the most distressing thing that happened to small talk when it came
out of Xerox PARC was for many respects and purposes that quit changing now I can tell you at Xerox PARC there are four major versions completely different versions of the language over about a
ten year period and many dozens and dozens of significant releases within those different versions and I think one of the things that we like the most
about small talk was not what it could do but the fact that it was such a good vehicle for bootstrapping the next set of ideas we had about how to do systems building and that for all intents
purposes when small talk went commercial ceased even though there was a book the famous blue book that Adele and Dave wrote that had the actual code in it for
making small talk interpreters and starting this process oneself almost nobody took advantage of this almost no University took advantage of it almost no commercial insulation took
advantage of it and what they missed was to me the deepest thing I would like to communicate with you today and that is we don't know how to design systems yet so let's not make what we don't know
into a religion for God's sakes what we need to do is to constantly think and think and think about what's important and we have to have our systems let us
get to the next levels of abstraction as we come to them and the thing that I'm most proud of about small talk pretty much the only thing from my standpoint
that I'm proud of is that it has been so good at getting rid of previous versions of itself until it came out into this world now one of the reasons we got
involved in doing small talk again after for me it was a 16 years of not working on programming languages a couple of years ago we started this project we call squeak
which is simply not an attempt to give the world a free small talk but an attempt to give the world a bootstrapping mechanism for something much better than small talk and when you
fooled around with squeak please please think of it from that stand of how you can obsolete the damn thing by using its own mechanisms for getting the next
version of itself so look for the blue thoughts and I was trying to think of a way how could I stop this talk because I'll go on and
on and I remembered a story I'm a pipe organist and most pipe Organists have a hero whose name was EEP our bigs
he kind of revived the interest in the pipe organ especially as it was played in the 17th and 18th centuries and had a tremendous influence on all of us
organists and a good friend of mine was epower Biggs his assistant for many years back in the 40s and 50s he's in his 80s now and when we get him for
dinner we always get him to tell you power Biggs stories and the organ that he power Biggs had in those days for his broadcast was a dinky little organ
neither fish nor fowl in a small Museum at Harvard called the bush wising or museum but in fact all manner of music was was played on it and one day this
assistant had to fill in for Biggs and he asked Biggs well what is the piece played and he said well I had programmed Caesar Frank's heroic piece and if you
know this piece it is made for the largest organs that have ever been made the loudest organs that have ever been made in the largest cathedrals that have ever been made because it's a 19th century symphonic pipe organ work and
Biggs was asking my friend to play this on this dinky little organ and he said but how can i he says how can I play it on this on this and Biggs he said just
play it grand just play it grand and the way to to stay with the future as it moves is to always play your systems more grand than they seem to be right
now thank you [Music] [Music]
[Music] you
End of transcript