Difference between revisions of "Alan Kay Turing Award Lecture (2004)"

From Viewpoints Intelligent Archive
Jump to: navigation, search
 
(27 intermediate revisions by 2 users not shown)
Line 1: Line 1:
 
{{#evt:
 
{{#evt:
 
service=youtubeIA
 
service=youtubeIA
|id=ymF94cFfzUQ
+
|id=aXC19T5sJ1U
 
|alignment=left
 
|alignment=left
 
|autoresize=true
 
|autoresize=true
 
}}
 
}}
 
 
<slideview/>
 
<slideview/>
  
<subtitle id="0:0:5">association for computing Machinery's  touring award lecture</subtitle>
+
== Introduction by John Vlissides ==
 +
<note for="0:0:1">
 +
Dr. John Vlissides is the conference chair of OOPSLA 2004.
 +
</note>
 +
<subtitle id="0:0:1">Good Afternoon, and welcome to the Association for Computing Machinery's Turing Award Lecture.</subtitle>
  
<subtitle id="0:0:8"> the Turing award  is</subtitle>
+
<subtitle id="0:0:7">The Turing Award is ACM's most prestigious technical award.</subtitle>
  
<subtitle id="0:0:11"> ACMs most prestigious technical</subtitle>
+
<subtitle id="0:0:12">If you look at past Turing laureates, it'll read like a Who's Who of computer science.</subtitle>
  
<subtitle id="0:0:14"> award  if you look at past Turing laureates</subtitle>
+
<subtitle id="0:0:19">The Turing award is given out annually to an individual who has contributed, has given contributions of lasting and major technical importance to the field.</subtitle>
  
<subtitle id="0:0:17">  it'll read like a who's who of computer</subtitle>
+
<subtitle id="0:0:36">And, the Turing Laureate is invited to give a talk on whatever topic they'd like at any ACM conference during the year.</subtitle>
  
<subtitle id="0:0:20">  science the Turing award is</subtitle>
+
<subtitle id="0:0:49">We are privileged to have this year's laureate choose OOPSLA as their venue.</subtitle>
 +
<subtitle id="0::0:55">So, without further ado I'd like to introduce Dr. Alan Kay. He's a senior fellow at Hewlett Packard.</subtitle>
  
<subtitle id="0:0:23"> given out  annually to an individual</subtitle>
+
<subtitle id="0:1:1">He's president of Viewpoints Research Institute.</subtitle>
  
<subtitle id="0:0:26"> who has  contributed</subtitle>
+
<subtitle id="0:1:6">The Turing award was given to him for pioneering many of the ideas at the root of contemporary object-oriented programming languages, for leading the team that developed Smalltalk, and for fundamental contributions to personal computing.</subtitle>
  
<subtitle id="0:0:29"> has given</subtitle>
+
<subtitle id="0:1:22">Let's give a warm OOPSLA welcome to Alan Kay.</subtitle>
  
<subtitle id="0:0:32"> contributions of  lasting and major technical importance</subtitle>
+
== Introduction and Context: Education for High School and First Year College ==
  
<subtitle id="0:0:35">  to the field and the</subtitle>
+
<note for="0:1:47">
 
+
<slide for="0:1:47" name="OOPSLA2004-TitleSlide.png"/>
<subtitle id="0:0:38"> Turing laureate is  invited to</subtitle>
+
</note>
 
+
<subtitle id="0:1:47">Of course, one of the funny things about the larger citation was, it was also said for coming up and helping to come up with many of the ideas that eventually led to C++ and Java.</subtitle>
<subtitle id="0:0:41"> give a talk on whatever</subtitle>
 
 
 
<subtitle id="0:0:44"> topic  they'd like at any</subtitle>
 
 
 
<subtitle id="0:0:47"> ACM conference during  the year and we</subtitle>
 
 
 
<subtitle id="0:0:50"> are privileged to have  this year's</subtitle>
 
 
 
<subtitle id="0:0:53"> laureate choose oops law as  their venue</subtitle>
 
 
 
<subtitle id="0:0:56"> so without further ado I'd  like to</subtitle>
 
 
 
<subtitle id="0:0:59"> introduce dr. Alan Kay the he's  a senior</subtitle>
 
 
 
<subtitle id="0:1:2"> fellow at Hewlett Packard he's  president</subtitle>
 
 
 
<subtitle id="0:1:5"> of viewpoints Research  Institute and the</subtitle>
 
 
 
<subtitle id="0:1:8"> Turing award was given  to him for pioneering</subtitle>
 
 
 
<subtitle id="0:1:11"> many of the ideas  at the root of contemporary</subtitle>
 
 
 
<subtitle id="0:1:14">  object-oriented programming languages  for leading</subtitle>
 
 
 
<subtitle id="0:1:17"> the team that developed  small talk and four</subtitle>
 
 
 
<subtitle id="0:1:20"> fundamental compute  contributions to</subtitle>
 
 
 
<subtitle id="0:1:23"> personal computing  let's give a warm welcome</subtitle>
 
 
 
<subtitle id="0:1:47">of</subtitle>
 
 
 
<subtitle id="0:1:50"> course one of the funny things</subtitle>
 
 
 
<subtitle id="0:1:53"> about  the larger citation was it also</subtitle>
 
 
 
<subtitle id="0:1:56"> said for  coming up and</subtitle>
 
 
 
<subtitle id="0:1:59"> helping to come up with  many of the ideas that eventually led to  C++</subtitle>
 
  
<subtitle id="0:2:2"> and Java</subtitle>
+
<subtitle id="0:2:5">It reminded me of Tony Hoare's, in his Turing lecture, which was quite a bit about ALGOL. He pointed out that ALGOL is a great improvement, especially on its successors.</subtitle>
  
<subtitle id="0:2:5"> and</subtitle>
+
<subtitle id="0:2:29">About a year ago, I got asked by SIGCSE to come and give a talk here, which happened yesterday, about early experiences in computing, primarily for high school, and to some extent for first year college.</subtitle>
  
<subtitle id="0:2:8"> the reminded me of Tony  whores in</subtitle>
+
<subtitle id="0:2:49"> And, I wasn't of course expecting to get this award.</subtitle>
  
<subtitle id="0:2:11"> his Turing lecture</subtitle>
+
<subtitle id="0:2:54">I had spent a fair amount of time trying to think about the high school and college situation.</subtitle>
  
<subtitle id="0:2:14"> which was  quite a bit of which was</subtitle>
+
<subtitle id="0:3:2">Since I had no real experience doing a first course.</subtitle>
  
<subtitle id="0:2:17"> about Al Gore  he pointed out that algo is</subtitle>
+
<subtitle id="0:3:8">And, I certainly didn't like what I found when I went out and read books and the AP stuff and so forth.</subtitle>
  
<subtitle id="0:2:20"> a great  improvement especially on its successors</subtitle>
+
<subtitle id="0:3:19">But I figured nobody wants to hear anybody complain even if they're telling the truth for an hour.</subtitle>
  
<subtitle id="0:2:29">o about a year</subtitle>
+
<subtitle id="0:3:27">So what I decided to do was to see if I were going to teach a first course in high school or college what would it be like.</subtitle>
  
<subtitle id="0:2:32"> ago I got asked by Sigma  C to</subtitle>
+
<subtitle id="0:3:34">That was the talk I gave yesterday.</subtitle>
  
<subtitle id="0:2:35"> come and give a talk here which  happened yesterday</subtitle>
+
<subtitle id="0:3:39">And, I wound up thinking that, perhaps, a slightly different version of this would make a reasonable Turing Lecture.</subtitle>
  
<subtitle id="0:2:38"> about early  experiences</subtitle>
+
== Don Knuth Quote on New Mathematics for Computing ==  
 
 
<subtitle id="0:2:41"> in computing</subtitle>
 
 
 
<subtitle id="0:2:44"> primarily for  high school and to</subtitle>
 
 
 
<subtitle id="0:2:47"> some extent for first  year college</subtitle>
 
 
 
<subtitle id="0:2:50"> and I wasn't of course  expecting</subtitle>
 
 
 
<subtitle id="0:2:53"> to get this award and I</subtitle>
 
 
 
<subtitle id="0:2:56"> was  had spent a fair amount of time trying</subtitle>
 
 
 
<subtitle id="0:2:59">to think about the high school and  college</subtitle>
 
 
 
<subtitle id="0:3:2"> situation since I had no</subtitle>
 
 
 
<subtitle id="0:3:5"> real  experience doing a first course</subtitle>
 
 
 
<subtitle id="0:3:8"> and I  certainly didn't like what</subtitle>
 
 
 
<subtitle id="0:3:11"> I found when  I went out and read</subtitle>
 
 
 
<subtitle id="0:3:14"> books and the AP</subtitle>
 
 
 
<subtitle id="0:3:17">  stuff and so</subtitle>
 
 
 
<subtitle id="0:3:20"> forth but I figured nobody</subtitle>
 
 
 
<subtitle id="0:3:23">  wants to hear anybody complain even</subtitle>
 
 
 
<subtitle id="0:3:26"> if  they're telling the truth for an hour so</subtitle>
 
 
 
<subtitle id="0:3:29">  what I decided to do was to see if I  were going to</subtitle>
 
 
 
<subtitle id="0:3:32"> teach a first course in  high school</subtitle>
 
 
 
<subtitle id="0:3:35"> or college what would it be  like and that was the talk I gave</subtitle>
 
 
 
<subtitle id="0:3:38">  yesterday and I</subtitle>
 
 
 
<subtitle id="0:3:41"> wound up thinking that</subtitle>
 
 
 
<subtitle id="0:3:44">  perhaps a slightly different version</subtitle>
 
 
 
<subtitle id="0:3:47"> of  this would make a reasonable</subtitle>
 
 
 
<subtitle id="0:3:50"> Turing  lecture so</subtitle>
 
  
 
<note for="0:3:53">
 
<note for="0:3:53">
<slide for="0:3:53" name="Don Quote.png"/>
+
<slide for="0:3:53" name="OOPSLA2004-Don Quote.png"/>
 +
Donald Knuth is a famous computer scientist.  Wikipedia: [https://en.wikipedia.org/wiki/Donald_Knuth].
 
</note>
 
</note>
<subtitle id="0:3:53"> here it is and first I want</subtitle>
+
<subtitle id="0:3:53">Here it is. First I want to start off with a Don quote.</subtitle>
  
<subtitle id="0:3:56">  to start off with a Don quote  he</subtitle>
+
<subtitle id="0:3:57">He has lots of them, but this is my favorite one of his.</subtitle>
  
<subtitle id="0:3:59"> has lots of them but this is my  favorite one of his beware</subtitle>
+
<subtitle id="0:4:0">"Beware of bugys in the above code; I've only proved it correct, not tried it.</subtitle>
  
<subtitle id="0:4:2">the above code  I've only proved it correct</subtitle>
+
<subtitle id="0:4:8">This is the perfect antidote to what you might call the academization of the field, which, quite a bit of which, has been an attempt to use classical mathematics to deal with a new mathematics that requires a new math to help describe it. </subtitle>
  
<subtitle id="0:4:5"> not tried it</subtitle>
+
<subtitle id="0:4:27">So what we have is a new field.</subtitle>
  
<subtitle id="0:4:8">his is</subtitle>
+
<subtitle id="0:4:31">I believe a simple statement about our field is that math wins: Basically every time you can do something reasonably mathematical what we're trying to do, we make great advances.</subtitle>
  
<subtitle id="0:4:11"> the perfect antidote to what  what you might call the academy's</subtitle>
+
<subtitle id="0:4:44">But, it's rare that old math wins.</subtitle>
  
<subtitle id="0:4:14"> ation  of the field which quite</subtitle>
+
<subtitle id="0:4:49">Because, we have a new way of dealing with things. Our theorems are not short, and they're not about infinite things, which is what classical math is generally about.</subtitle>
  
<subtitle id="0:4:17"> a bit of which  has been an attempt to use classical</subtitle>
+
<subtitle id="0:5:4">The equivalent of our theorems and proofs are very very long things about finite structures.</subtitle>
  
<subtitle id="0:4:20">  mathematics to deal</subtitle>
+
<subtitle id="0:5:12">So we have a different way of doing about, and hence Don's quote, which i think is absolutely perfect.</subtitle>
  
<subtitle id="0:4:23"> with a new  mathematics that requires a new math</subtitle>
+
== Research Accomplishment within the Community ==
  
<subtitle id="0:4:26"> to  help describe it so what</subtitle>
+
<note for="0:5:19">
 
+
<slide for="0:5:19" name="OOPSLA2004-Colleagues.png"/>
<subtitle id="0:4:29">new field  I believe</subtitle>
+
</note>
 
+
<subtitle id="0:5:19"> Because our field is the way it is, everything we do is done within a community, and nobody has benefited more from their community than I have over the years.</subtitle>
<subtitle id="0:4:32"> math simple</subtitle>
 
 
 
<subtitle id="0:4:35"> statement about  our field is that math wins</subtitle>
 
 
 
<subtitle id="0:4:38"> basically  every time you can do something</subtitle>
 
 
 
<subtitle id="0:4:41">reasonably mathematical what we're  trying to do we</subtitle>
 
 
 
<subtitle id="0:4:44"> make great advances but  it's</subtitle>
 
 
 
<subtitle id="0:4:47"> rare that old math wins</subtitle>
 
 
 
<subtitle id="0:4:50"> because we  have a</subtitle>
 
 
 
<subtitle id="0:4:53"> new way of dealing with things  our</subtitle>
 
 
 
<subtitle id="0:4:56"> theorems are not short and they're</subtitle>
 
 
 
<subtitle id="0:4:59">  not about infinite things</subtitle>
 
 
 
<subtitle id="0:5:2"> which is what  classical math is generally about the</subtitle>
 
 
 
<subtitle id="0:5:5">  equivalent of our theorems and proofs  are</subtitle>
 
 
 
<subtitle id="0:5:8"> very very long things about finite</subtitle>
 
 
 
<subtitle id="0:5:11">  structures and so</subtitle>
 
 
 
<subtitle id="0:5:14">different way of doing about and hence  Dawn's quote</subtitle>
 
  
<subtitle id="0:5:17"> which i think is absolutely</subtitle>
+
<subtitle id="0:5:34">For the stuff I'm going to talk about and show tonight, a lot of people contributed, especially over the last few weeks, putting together some of these examples.</subtitle>
  
<subtitle id="0:5:20">  perfect and because our</subtitle>
+
<subtitle id="0:5:47">These are some of the people. Some of them you notice have gray hair.</subtitle>
  
<note for="0:5:23">
+
<note for="0:25:20">
<slide for="0:5:23" name="colleagues.png"/>
+
Daniel Ingalls on Wikipedia: [https://en.wikipedia.org/wiki/Dan_Ingalls]
 
</note>
 
</note>
<subtitle id="0:5:23"> field is the way  it is everything</subtitle>
+
<subtitle id="0:5:51">This guy, I know is here, Dan Ingalls, who is the actual creator of Smalltalk.</subtitle>
 
 
<subtitle id="0:5:26"> we do is done within a  community and nobody</subtitle>
 
 
 
<subtitle id="0:5:29"> has benefited more  from their community than I</subtitle>
 
 
 
<subtitle id="0:5:32"> have over  the years and</subtitle>
 
 
 
<subtitle id="0:5:35"> for the stuff I'm</subtitle>
 
 
 
<subtitle id="0:5:38"> going to  talk about and show tonight a lot of  people contributed</subtitle>
 
 
 
<subtitle id="0:5:41"> especially over the  last few weeks putting</subtitle>
 
 
 
<subtitle id="0:5:44"> together some of  these examples</subtitle>
 
 
 
<subtitle id="0:5:47"> and these are some of the  people</subtitle>
 
 
 
<subtitle id="0:5:50"> some of them you notice have gray  hair</subtitle>
 
 
 
<subtitle id="0:5:53">  this guy I know is here Dan angles and</subtitle>
 
 
 
<subtitle id="0:5:56">  who's the the</subtitle>
 
 
 
<subtitle id="0:5:59"> actual creator of small</subtitle>
 
 
 
<subtitle id="0:6:2">  talk I just wrote the math part and</subtitle>
 
  
<subtitle id="0:6:5"> Dan  was the guy who actually made it work so</subtitle>
+
<subtitle id="0:6:2">I just wrote the math part, and Dan was the guy who actually made it work.</subtitle>
  
<subtitle id="0:6:8">  we should give him a round of applause</subtitle>
+
<subtitle id="0:6:6">So, we should give him a round of applause.</subtitle>
  
<subtitle id="0:6:17">so</subtitle>
+
== Science and Engineering of Computing: Pyramids vs. Arches vs. Cathedrals ==
  
 
<note for="0:6:20">
 
<note for="0:6:20">
<slide for="0:6:20" name="Three Architectures0.png"/>
+
<slide for="0:6:20" name="OOPSLA2004-Three Architectures0.png"/>
<slide for="0:11:29" name="Three Architectures1.png"/>
+
<slide for="0:11:29" name="OOPSLA2004-Three Architectures1.png"/>
 
</note>
 
</note>
 +
<subtitle id="0:6:18">I guess the first thing to think about here is we have these terms: Computer science and software engineering.</subtitle>
  
<subtitle id="0:6:20"> I guess the first thing to think  about here is we</subtitle>
+
<subtitle id="0:6:26">I happen to be around when both of these terms were made up</subtitle>
  
<subtitle id="0:6:23"> have these terms  computer science and software  engineering</subtitle>
+
<note for="0:6:28">
 +
Alan Perlis [https://en.wikipedia.org/wiki/Alan_Perlis] was a leader of the early computer science field.
 +
</note>
 +
<subtitle id="0:6:28">Al Perlis made up the term computer science, absolutely not implying that we had one but as something to actually aspire to.</subtitle>
  
<subtitle id="0:6:26"> I happen to be around</subtitle>
+
<subtitle id="0:6:41">And, I think he immediately regretted, even in the first few years afterwards, because what happened was what some people have sometimes called physics envy.</subtitle>
  
<subtitle id="0:6:29">both of these terms were made up al  Perlas made up the term</subtitle>
+
<subtitle id="0:6:52">Basically everybody who dabbles in the sciences wants to be a physicist, because they deal with the absolute foundations of the universe.</subtitle>
  
<subtitle id="0:6:32"> computer science  absolutely</subtitle>
+
<subtitle id="0:7:4">They do it with serious math and serious experiments.</subtitle>
  
<subtitle id="0:6:35"> not implying that we had one  but</subtitle>
+
<subtitle id="0:7:10">Physics envy is, science envy is often found when fields wind up having science in their name.</subtitle>
  
<subtitle id="0:6:38"> as something</subtitle>
+
<subtitle id="0:7:20">So, library science, social science, computer science.</subtitle>
  
<subtitle id="0:6:41"> to actually aspire to  and he I</subtitle>
+
<subtitle id="0:7:27">Interestingly physics, chemistry, and biology don't have science in their name.</subtitle>
  
<subtitle id="0:6:44"> think he immediately regretted  it even</subtitle>
+
<subtitle id="0:7:35">I think there can be a science of computing, similar to a science of bridge building, and in fact, Simon pointed out in his book called the sciences of the artificial that you can have a science about artifacts like a science of bridge building.</subtitle>
  
<subtitle id="0:6:47"> in the first few years  afterwards because what happened</subtitle>
+
<subtitle id="0:7:00">Build a bridge by any means whatsoever stress it in various ways analyze it come up with a theory of build bridge building build some more bridges and so forth.</subtitle>
  
<subtitle id="0:6:50"> was  what some people have sometimes</subtitle>
+
<subtitle id="0:8:11">In many ways physics has found itself becoming a science of the artificial, because a lot of physics is actually all about the science of building accelerators and detectors,</subtitle>
  
<subtitle id="0:6:53"> called  physics Envy basically everybody</subtitle>
+
<subtitle id="0:8:26">and trying to figure out just exactly what it is that those needle swings actually mean.</subtitle>
  
<subtitle id="0:6:56"> who  dabbles in the sciences wants</subtitle>
+
<note for="0:8:32">
 +
The report from the Software Engineering Conference in '68 is available online. [http://www.scrummanager.net/files/nato1968e.pdf]
 +
</note>
 +
<subtitle id="0:8:32">Software engineering actually was a term that came about for a conference (I think) in '68 and Garmisch, Germany.</subtitle>
  
<subtitle id="0:6:59"> to be a  physicist because</subtitle>
+
<subtitle id="0:8:42">Again, the people who went to that conference, except for a few, did not think there was anything remotely like a software engineering at that time.</subtitle>
  
<subtitle id="0:7:2"> they deal with the  absolute foundations</subtitle>
+
<subtitle id="0:8:51">In fact, the slide shows kind of..., from the depths to something that we might call engineering today of the difference between a pyramid made out of bricks with no architecture.</subtitle>
  
<subtitle id="0:7:5"> of the universe and  they do it with serious</subtitle>
+
<note for="0:9:8">
 
+
The venue of the talk was Vancouver, Canada.  Alan is referring to Seattle, where Microsoft is located.
<subtitle id="0:7:8"> math and serious  and experiments so</subtitle>
+
</note>
 
+
<subtitle id="0:9:8">Just a garbage dump with a nice limestone cover made by slaves: Sounds like something that happens a few miles south of here, actually.</subtitle>
<subtitle id="0:7:11"> physics Envy is  science Envy</subtitle>
 
 
 
<subtitle id="0:7:14"> is often found when fields  wind</subtitle>
 
 
 
<subtitle id="0:7:17"> up having science in their name</subtitle>
 
 
 
<subtitle id="0:7:20"> so  library science</subtitle>
 
 
 
<subtitle id="0:7:23"> social science</subtitle>
 
 
 
<subtitle id="0:7:26"> computer  science</subtitle>
 
 
 
<subtitle id="0:7:29"> interesting physics chemistry  and biology don't</subtitle>
 
 
 
<subtitle id="0:7:32"> have science in their  name</subtitle>
 
 
 
<subtitle id="0:7:35">so I</subtitle>
 
 
 
<subtitle id="0:7:38"> think there can be a science of  computing</subtitle>
 
 
 
<subtitle id="0:7:41"> similar to science of bridge  building</subtitle>
 
 
 
<subtitle id="0:7:44"> and in fact Simon</subtitle>
 
 
 
<subtitle id="0:7:47"> pointed out  in his book called</subtitle>
 
 
 
<subtitle id="0:7:50"> the science of  Sciences of the artificial</subtitle>
 
 
 
<subtitle id="0:7:53"> that you</subtitle>
 
 
 
<subtitle id="0:7:56"> can  have a science about artifacts like</subtitle>
 
 
 
<subtitle id="0:7:59"> a  science of bridge building build a</subtitle>
 
 
 
<subtitle id="0:8:2">  bridge by any means whatsoever stress</subtitle>
 
 
 
<subtitle id="0:8:5"> it  in various ways analyze it come up with</subtitle>
 
 
 
<subtitle id="0:8:8">a theory of build bridge building build  some more bridges</subtitle>
 
 
 
<subtitle id="0:8:11"> and so forth and in  many ways physics has</subtitle>
 
 
 
<subtitle id="0:8:14"> found itself  becoming a science</subtitle>
 
 
 
<subtitle id="0:8:17"> of the artificial  because a lot of physics</subtitle>
 
 
 
<subtitle id="0:8:20"> is actually all  about the science of</subtitle>
 
 
 
<subtitle id="0:8:23"> building  accelerators and detectors and</subtitle>
 
 
 
<subtitle id="0:8:26"> trying to  figure out just exactly what</subtitle>
 
 
 
<subtitle id="0:8:29"> it is that  those needle swings actually</subtitle>
 
 
 
<subtitle id="0:8:32"> mean  software</subtitle>
 
 
 
<subtitle id="0:8:35"> engineering actually was a term  that came about for</subtitle>
 
 
 
<subtitle id="0:8:38"> a conference like</subtitle>
 
 
 
<subtitle id="0:8:41"> in  68 and garmisch Germany</subtitle>
 
 
 
<subtitle id="0:8:44"> and again the  people who went to that conference  except for</subtitle>
 
 
 
<subtitle id="0:8:47"> a few did not think there was  anything remotely like a</subtitle>
 
 
 
<subtitle id="0:8:50"> software  engineering at that time and</subtitle>
 
 
 
<subtitle id="0:8:53"> in fact the  slide shows kind</subtitle>
 
 
 
<subtitle id="0:8:56"> of a from</subtitle>
 
 
 
<subtitle id="0:8:59"> the depths to  something that we</subtitle>
 
 
 
<subtitle id="0:9:2"> might call engineering  today of the difference</subtitle>
 
 
 
<subtitle id="0:9:5"> between a  pyramid made out of bricks with</subtitle>
 
 
 
<subtitle id="0:9:8"> no  architecture just a garbage dump with</subtitle>
 
 
 
<subtitle id="0:9:11"> a  nice limestone cover</subtitle>
 
 
 
<subtitle id="0:9:14"> made by slaves  sounds like something</subtitle>
 
 
 
<subtitle id="0:9:17"> that happens a few  miles south of here actually</subtitle>
 
 
 
<subtitle id="0:9:26">I can just I can just imagine some</subtitle>
 
 
 
<subtitle id="0:9:29">  veronik architect</subtitle>
 
 
 
<subtitle id="0:9:32"> at some conference  announcing their</subtitle>
 
 
 
<subtitle id="0:9:35"> new pyramid</subtitle>
 
 
 
<subtitle id="0:9:38"></subtitle>
 
 
 
<subtitle id="0:9:41"></subtitle>
 
 
 
<subtitle id="0:9:44"></subtitle>
 
 
 
<subtitle id="0:9:47"> on the  other side of the scale we have one of  my</subtitle>
 
 
 
<subtitle id="0:9:50"> favorite artifacts the Empire State</subtitle>
 
 
 
<subtitle id="0:9:53">  Building which is well documented and I  urge every</subtitle>
 
 
 
<subtitle id="0:9:56"> single one of you who has  aspirations to be an engineer</subtitle>
 
 
 
<subtitle id="0:9:59"> to read  the</subtitle>
 
 
 
<subtitle id="0:10:2"> three or four excellent recent books  about</subtitle>
 
 
 
<subtitle id="0:10:5"> the Empire State Building one of  them is the actual log</subtitle>
 
 
 
<subtitle id="0:10:8"> by the foreman a  basically</subtitle>
 
 
 
<subtitle id="0:10:11"> the Empire State Building was  constructed</subtitle>
 
 
 
<subtitle id="0:10:14"> from start to finish that is</subtitle>
 
 
 
<subtitle id="0:10:17">  from carrying down the buildings that  were there</subtitle>
 
 
 
<subtitle id="0:10:20"> to occupancy in less than 11  months</subtitle>
 
 
 
<subtitle id="0:10:23"> by less than 3,000 people</subtitle>
 
 
 
<subtitle id="0:10:26">  the flooring itself went</subtitle>
 
 
 
<subtitle id="0:10:29"> up at the rate  of almost two stories a day and the</subtitle>
 
 
 
<subtitle id="0:10:32">  steel was still warm about a hundred</subtitle>
 
 
 
<subtitle id="0:10:35">  degrees warm from the steel mills in  Pittsburgh</subtitle>
 
 
 
<subtitle id="0:10:38"> where it came from this is  one of the greatest organized</subtitle>
 
 
 
<subtitle id="0:10:41"> projects  and the Starrett brothers who did the  Empire State</subtitle>
 
 
 
<subtitle id="0:10:44"> Building knew they were  making a statement because</subtitle>
 
 
 
<subtitle id="0:10:47"> the  Depression had just happened everything</subtitle>
 
 
 
<subtitle id="0:10:50">was set up to do this thing they had  already done a couple</subtitle>
 
 
 
<subtitle id="0:10:53"> of skyscrapers and  they had a feeling this might be the  last skyscraper</subtitle>
 
 
 
<subtitle id="0:10:56"> for a while and so they  decided to</subtitle>
 
 
 
<subtitle id="0:10:59"> to make it an expression of</subtitle>
 
 
 
<subtitle id="0:11:2">what it meant to be able to make a  skyscraper so it's just the</subtitle>
 
 
 
<subtitle id="0:11:5"> greatest  thing but I think if we look at</subtitle>
 
 
 
<subtitle id="0:11:8"> our own  field we cannot find any instance of  3,000</subtitle>
 
 
 
<subtitle id="0:11:11"> people being put together to</subtitle>
 
 
 
<subtitle id="0:11:14">something incredible in less than 11  months and have it</subtitle>
 
 
 
<subtitle id="0:11:17"> work so whatever it  is that we've got</subtitle>
 
 
 
<subtitle id="0:11:20"> in engineering it  might be closer to Egyptian</subtitle>
 
 
 
<subtitle id="0:11:23"> or  Babylonian engineering</subtitle>
 
 
 
<subtitle id="0:11:26"> now somewhere</subtitle>
 
 
 
<subtitle id="0:11:29"> in</subtitle>
 
 
 
<subtitle id="0:11:32">  the middle things with archers</subtitle>
 
 
 
<subtitle id="0:11:35">appearing an actual architecture  appeared</subtitle>
 
 
 
<subtitle id="0:11:38"> interesting thing that  happened some</subtitle>
 
 
 
<subtitle id="0:11:41"> years before the Gothic  cathedrals was the Pantheon</subtitle>
 
 
 
<subtitle id="0:11:44"> in Rome  which has this clear span</subtitle>
 
 
 
<subtitle id="0:11:47"> the dome clear  span of fourteen</subtitle>
 
 
 
<subtitle id="0:11:50"> stories made out of the  best reinforced</subtitle>
 
 
 
<subtitle id="0:11:53">ever known  but two thousand</subtitle>
 
 
 
<subtitle id="0:11:56"> years ago that was  amazing be</subtitle>
 
 
 
<subtitle id="0:11:59"> her been in there it looks  like it was made yesterday so</subtitle>
 
 
 
<subtitle id="0:12:2"> I think  the best practice that we have right</subtitle>
 
 
 
<subtitle id="0:12:5"> now  in our field as</subtitle>
 
 
 
<subtitle id="0:12:8"> far as engineering is a  little bit like a Gothic cathedral</subtitle>
 
 
 
<subtitle id="0:12:11">  sometimes our projects take a hundred</subtitle>
 
 
 
<subtitle id="0:12:14">  years but we</subtitle>
 
 
 
<subtitle id="0:12:17"> can aspire to build rather</subtitle>
 
 
 
<subtitle id="0:12:20">  large structures by the standards</subtitle>
 
 
 
<subtitle id="0:12:23"> of the  Middle Ages out of</subtitle>
 
 
 
<subtitle id="0:12:26"> much much less  material than the Egyptians</subtitle>
 
 
 
<subtitle id="0:12:29"> needed so</subtitle>
 
 
 
<subtitle id="0:12:32">  little progress is being made but I</subtitle>
 
 
 
<subtitle id="0:12:35">  think that whenever we say computer</subtitle>
 
  
<subtitle id="0:12:38">  science or software engineering the</subtitle>
+
<subtitle id="0:9:24">I can just imagine some pharaonic architect at some conference, announcing their new pyramid.</subtitle>
  
<subtitle id="0:12:41">specially whenever we think we're  teaching it the</subtitle>
+
<note for="0:9:45">
 
+
One of the books is "Building the Empire State", edited by Carol Willis. [http://books.wwnorton.com/books/detail.aspx?ID=16901].  See also another talk by Alan on this site: [http://tinlizzie.org/IA/index.php/Rethinking_Design,_Risk,_and_Software_(2012)#A_book_on_the_Empire_State_Building].
<subtitle id="0:12:44"> worst thing we could  ever do is to pretend to the students</subtitle>
 
 
 
<subtitle id="0:12:47">  that we know what it is because the</subtitle>
 
 
 
<subtitle id="0:12:50">  students are</subtitle>
 
 
 
<subtitle id="0:12:53"> going to be the only ones  that are going to save us</subtitle>
 
 
 
<subtitle id="0:12:56"> so we should  teach the students</subtitle>
 
 
 
<subtitle id="0:12:59"> what I was taught  when I was in graduate school in the</subtitle>
 
 
 
<subtitle id="0:13:2">sixties and that is it isn't done yet  it's not</subtitle>
 
 
 
<subtitle id="0:13:5"> even close to done you have to  understand</subtitle>
 
 
 
<subtitle id="0:13:8"> what the actual scope of  computing is going</subtitle>
 
 
 
<subtitle id="0:13:11"> to be and you have to  help us invent it  and</subtitle>
 
 
 
<subtitle id="0:13:14"> in fact in those years</subtitle>
 
 
 
<subtitle id="0:13:17"> in the ARPA  community the PhDs were given out for</subtitle>
 
 
 
<subtitle id="0:13:20">actual advances in the state of the art  as</subtitle>
 
 
 
<subtitle id="0:13:23"> opposed for as opposed to  commentaries</subtitle>
 
 
 
<subtitle id="0:13:26"> and small additions to the  state</subtitle>
 
 
 
<subtitle id="0:13:29"> of the art so it's a very  different time back then but it's a lot  simpler</subtitle>
 
 
 
<note for="0:13:32">
 
<slide for="0:13:32" name="Motivations.png"/>
 
 
</note>
 
</note>
 +
<subtitle id="0:9:45">On the other side of the scale, we have one of my favorite artifacts: the Empire State Building, which is well documented and I urge every single one of you who has aspirations to be an engineer to read the three or four excellent recent books about the Empire State Building.</subtitle>
  
<subtitle id="0:13:32"> so</subtitle>
+
<subtitle id="0:10:5">One of them is the actual log by the foreman.</subtitle>
  
<subtitle id="0:13:35"> I could</subtitle>
+
<subtitle id="0:10:09">Basically, the Empire State Building was constructed from start to finish, that is,</subtitle>
  
<subtitle id="0:13:38"> give a whole talk  maybe not terribly</subtitle>
+
<subtitle id="0:10:15">from tearing down the buildings that were there to occupancy in less than 11 months by less than 3,000 people.</subtitle>
  
<subtitle id="0:13:41"> successfully about  motivations in</subtitle>
+
<subtitle id="0:10:25">The flooring itself went up at the rate of almost two stories a day.</subtitle>
  
<subtitle id="0:13:44"> the end everything we do  is</subtitle>
+
<subtitle id="0:10:29">And, the steel was still warm, about a hundred degrees warm, from the steel mills in Pittsburgh, where it came from.</subtitle>
  
<subtitle id="0:13:47"> being subject to other people's</subtitle>
+
<subtitle id="0:10:37">This is one of the greatest organized projects.</subtitle>
  
<subtitle id="0:13:50">interface  I feel particularly</subtitle>
+
<subtitle id="0:10:40">The Starrett brothers who did the Empire State Building knew they were making a statement, because the Depression had just happened.</subtitle>
  
<subtitle id="0:13:53"> in education but I  thought I'd show</subtitle>
+
<subtitle id="0:10:48">Everything was set up to do this thing. They had already done a couple of skyscrapers and they had a feeling this might be the last skyscraper for a while.</subtitle>
  
<subtitle id="0:13:56"> a much simpler model</subtitle>
+
<subtitle id="0:10:55">So they decided to make it an expression of what it meant to be able to make a skyscraper.</subtitle>
  
<subtitle id="0:13:59">than we use but it's only a  two-dimensional model and</subtitle>
+
<subtitle id="0:11:1">It's just the greatest thing.</subtitle>
  
<subtitle id="0:14:2"> just have us  all ponder</subtitle>
+
<subtitle id="0:11:3">But, I think if we look at our own field, we cannot find any instance of 3,000 people being put together to something incredible in less than 11 months and have it work.</subtitle>
  
<subtitle id="0:14:5"> it for a bit so one dimension</subtitle>
+
<subtitle id="0:11:16">Whatever it is that we've got in engineering, it might be closer to Egyptian or Babylonian engineering.</subtitle>
  
<subtitle id="0:14:8">  is in the reasoning and change area</subtitle>
+
<subtitle id="0:11:26">Now, somewhere in the middle, things with arches started appearing, an actual architecture appeared.</subtitle>
  
<subtitle id="0:14:11"> is  the incredible</subtitle>
+
<subtitle id="0:11:36">Interesting thing that happened some years before the Gothic cathedrals was the Pantheon in Rome, which has this clear span, the dome of clear span of fourteen stories.</subtitle>
  
<subtitle id="0:14:14"> disparity between the  percentage</subtitle>
+
<subtitle id="0:11:49">Made out of the best reinforced concrete the world ever known, but two thousand years ago. That was amazing.</subtitle>
  
<subtitle id="0:14:17"> of human beings who are  basically instrumental reasoner's</subtitle>
+
<subtitle id="0:11:57">if you've ever been there, it looks like it was made yesterday.</subtitle>
  
<subtitle id="0:14:20"> and  those who are basically interested</subtitle>
+
<subtitle id="0:12:1">I think the best practice that we have right now in our field as far as engineering is a little bit like a Gothic cathedral.</subtitle>
  
<subtitle id="0:14:23"> in  ideas so this has been studied</subtitle>
+
<subtitle id="0:12:11">Sometimes our projects take a hundred years. but we can aspire to build rather large structures by the standards of the Middle Ages out of much much less material than the Egyptians needed.</subtitle>
  
<subtitle id="0:14:26"> in a  variety of different ways and it seems  like</subtitle>
+
<subtitle id="0:12:30">So, little progress is being made but I think that whenever we say computer science or software engineering, especially whenever we think we're teaching it, the worst thing we could ever do is to pretend to the students that we know what it is.</subtitle>
  
<subtitle id="0:14:29"> the the normal us</subtitle>
+
<subtitle id="0:12:48">Because the students are going to be the only ones that are going to save us.</subtitle>
  
<subtitle id="0:14:32"> normal human  beings are basically instrumental reason</subtitle>
+
<subtitle id="0:12:55">So, we should teach the students what I was taught when I was in graduate school in the sixties: that is it isn't done yet. It's not even close to be done. You have to understand what the actual scope of computing is going to be and you have to help us invent it.</subtitle>
  
<subtitle id="0:14:35">isn't an instrumental reason er as a  person who judges</subtitle>
+
<subtitle id="0:13:13">In fact, in those years in the ARPA community, the PhDs were given out for actual advances in the state of the art, as opposed for, as opposed to commentaries and small additions to the state of the art.</subtitle>
  
<subtitle id="0:14:38"> any new tool or idea  by</subtitle>
+
<subtitle id="0:13:27">So it was a very different time back then but it was a lot simpler.</subtitle>
  
<subtitle id="0:14:41"> how well that tular idea contributes  to his</subtitle>
+
== A Simple Model of Motivations: Inner- vs. outer-motivated.  instrumental vs. intrinsic reasoners ==
 +
<subtitle id="0:13:35">I could give a whole talk, maybe not terribly successfully, about motivations.</subtitle>
  
<subtitle id="0:14:44"> or her current goal</subtitle>
+
<subtitle id="0:13:41">In the end, everything we do is being subject to other people's motivations, in particular the user interface. I feel particularly in education.</subtitle>
  
<subtitle id="0:14:47">so most of we're very goal-oriented  we're working</subtitle>
+
<subtitle id="0:13:52">But I thought I'd show a much simpler model than we use, but it's only a two-dimensional model.</subtitle>
  
<subtitle id="0:14:50"> on things somebody comes  up with something new and</subtitle>
+
<subtitle id="0:14:1">And just have us all ponder it for a bit. So, one dimension is, in the reasoning and change area, is the incredible disparity between the percentage of human beings, who are basically instrumental reasoners and,</subtitle>
  
<subtitle id="0:14:53"> our ability</subtitle>
+
<subtitle id="0:14:20">those who are basically interested in ideas. This has been studied in a variety of different ways.</subtitle>
  
<subtitle id="0:14:56"> to  accept it or reject it if we're  instrumental</subtitle>
+
<subtitle id="0:14:30">It seems like the normal us, normal human beings, are basically instrumental reasoners.</subtitle>
  
<subtitle id="0:14:59"> reasoner's depends on  whether we can see it contributing to  our current</subtitle>
+
<subtitle id="0:14:33">An instrumental reasoner is a person who judges any new tool or idea by how well that tool or idea contributes to his or her current goal.</subtitle>
  
<subtitle id="0:15:2"> goal so the other 5% are  primarily</subtitle>
+
<subtitle id="0:14:45">so, most of us are very goal-oriented. We're working on things. Somebody comes up with something new, and our ability to accept it or reject it, if we're instrumental reasoners, depends on whether we can see it contributing to our current goal.</subtitle>
  
<subtitle id="0:15:5"> motivated by ideas so when a  new idea</subtitle>
+
<subtitle id="0:15:0">The other 5% are primarily motivated by ideas. So, when a new idea comes along that appeals to them, they will transform themselves and their goals in the presence of the idea.</subtitle>
  
<subtitle id="0:15:8"> comes along that appeals to  them they will transform</subtitle>
+
<subtitle id="0:15:13">Needless to say, the 5% are much easier to teach. In particular, if you're trying to teach them things that were inventions, rather than things that are built into human beings.</subtitle>
  
<subtitle id="0:15:11"> themselves and  their goals in the presence</subtitle>
+
<subtitle id="0:15:26">If you're trying to teach something really weird like science, it is not an easy thing, because you're dealing with a set of very practical and pragmatic kinds of people.</subtitle>
  
<subtitle id="0:15:14"> of that idea  needless to say the</subtitle>
+
<subtitle id="0:15:39">The other dimension here is (between) basically about reward:</subtitle>
  
<subtitle id="0:15:17"> 5% are much easier  to teach</subtitle>
+
<subtitle id="0:15:48">Inner-motivated vs. outer-motivated.</subtitle>
  
<subtitle id="0:15:20"> particular if you're trying to  teach</subtitle>
+
<subtitle id="0:15:52">About 85 percent of us are motivated by things outside of ourselves. About 15 percent are motivated by things inside ourselves.</subtitle>
  
<subtitle id="0:15:23"> them things that were inventions  rather than things</subtitle>
+
<subtitle id="0:16:3">That's kind of interesting.</subtitle>
  
<subtitle id="0:15:26"> that are built into  human beings so if you're trying to  teach</subtitle>
+
<subtitle id="0:16:7">What we have here, if we look at this, is we have a kind of an interesting category of people who are inner-motivated and interested in ideas.</subtitle>
  
<subtitle id="0:15:29"> something really weird like  science it is not an</subtitle>
+
<subtitle id="0:16:19">I'll leave it for you to figure out who those people are.</subtitle>
  
<subtitle id="0:15:32"> easy thing because  you're dealing with a</subtitle>
+
<subtitle id="0:16:21">An interesting category number two is people who are outer-motivated and interested in ideas.</subtitle>
  
<subtitle id="0:15:35"> set of very  practical</subtitle>
+
<subtitle id="0:16:29">The people who are inner-motivated and not interested in ideas tend to be dangerous and caused a lot of trouble.</subtitle>
  
<subtitle id="0:15:38"> and pragmatic kinds of people  so now</subtitle>
+
<subtitle id="0:16:38">A lot of corporate executives are up in there.</subtitle>
  
<subtitle id="0:15:41"> the other dimension here is</subtitle>
+
<subtitle id="0:16:47">Basically, our field is a field that's the next great 500 year idea after the printing press. And, we should all be properly concerned with something quite different.</subtitle>
  
<subtitle id="0:15:47">between basically about reward</subtitle>
+
<subtitle id="0:17:2">That is, we have to be concerned with how the entire bulk of humanity is going to respond and deal with the things that we do.</subtitle>
  
<subtitle id="0:15:50"> inner  motivated versus outer motivated</subtitle>
+
<subtitle id="0:17:14">So it's extremely interesting to consider the 80% here.</subtitle>
  
<subtitle id="0:15:53"> about  85 percent of us are motivated</subtitle>
+
<subtitle id="0:17:18">That our outer-motivated and basically practical.</subtitle>
  
<subtitle id="0:15:56"> by things  outside of</subtitle>
+
<subtitle id="0:17:23">A fair amount is known about this 80 percent.</subtitle>
  
<subtitle id="0:15:59"> ourselves about 15 percent  motivated by things</subtitle>
+
<subtitle id="0:17:27">In the past, I've used the term voting.</subtitle>
 
 
<subtitle id="0:16:2"> inside ourselves and</subtitle>
 
 
 
<subtitle id="0:16:5">  so that's kind of interesting and</subtitle>
 
 
 
<subtitle id="0:16:8"> what  we have</subtitle>
 
 
 
<subtitle id="0:16:11"> here if we look at this is we  have a kind of an interesting category</subtitle>
 
 
 
<subtitle id="0:16:14">  of people who are in term ohta vated and</subtitle>
 
 
 
<subtitle id="0:16:17">  interested in ideas I'll leave it for  you to</subtitle>
 
 
 
<subtitle id="0:16:20"> figure out who those people are  an interesting</subtitle>
 
 
 
<subtitle id="0:16:23"> category number two is  people who are out are</subtitle>
 
 
 
<subtitle id="0:16:26"> motivated and  interested in ideas the</subtitle>
 
 
 
<subtitle id="0:16:29"> people who are  in are motivated and not interested</subtitle>
 
 
 
<subtitle id="0:16:32"> in  ideas tend to be dangerous and</subtitle>
 
 
 
<subtitle id="0:16:35"> caused a  lot of trouble a</subtitle>
 
 
 
<subtitle id="0:16:38"> lot</subtitle>
 
 
 
<subtitle id="0:16:41"> of corporate  executives</subtitle>
 
 
 
<subtitle id="0:16:44"> up in there</subtitle>
 
 
 
<subtitle id="0:16:47"> but basically</subtitle>
 
 
 
<subtitle id="0:16:50"> our  field is a</subtitle>
 
 
 
<subtitle id="0:16:53"> field that's the next great  500</subtitle>
 
 
 
<subtitle id="0:16:56"> year idea after the printing press  and so</subtitle>
 
 
 
<subtitle id="0:16:59"> we should all be properly  concerned with something quite</subtitle>
 
 
 
<subtitle id="0:17:2"> different  that</subtitle>
 
 
 
<subtitle id="0:17:5"> is we have to be concerned with how  the entire</subtitle>
 
 
 
<subtitle id="0:17:8"> bulk of humanity is going</subtitle>
 
 
 
<subtitle id="0:17:11"> to  respond and deal with the things that we</subtitle>
 
 
 
<subtitle id="0:17:14">  do so it's extremely interesting to</subtitle>
 
 
 
<subtitle id="0:17:17">  consider the 80% here</subtitle>
 
 
 
<subtitle id="0:17:20"> that our outer  moat evaded and basically</subtitle>
 
 
 
<subtitle id="0:17:23"> practical and  a fair</subtitle>
 
 
 
<subtitle id="0:17:26"> amount is known about this 80  percent</subtitle>
 
 
 
<subtitle id="0:17:29"> in the past I've used the term  voting</subtitle>
 
 
 
<subtitle id="0:17:32"> but</subtitle>
 
  
 
<note for="0:17:35">
 
<note for="0:17:35">
<slide for="0:17:35" name="forestFire.png"/>
+
<slide for="0:17:35" name="OOPSLA2004-Motivations2.png"/>
 
</note>
 
</note>
 +
<subtitle id="0:17:35">You know, this group does not go to the polls to vote on the things they believe in.</subtitle>
  
<subtitle id="0:17:35"> you</subtitle>
+
<subtitle id="0:17:41">It takes them a long time to change what they believe in.</subtitle>
  
<subtitle id="0:17:38"> know this group does not  go to the polls to vote on</subtitle>
+
<subtitle id="0:17:44">But the way they do it is kind of interesting. It's a kind of a consensus that is gradual.</subtitle>
  
<subtitle id="0:17:41"> the things  they believe in it takes</subtitle>
+
<subtitle id="0:17:55">It's a seeping kind of consensus, and it has many of the same characteristics as a model of a forest fire.</subtitle>
  
<subtitle id="0:17:44"> them a long  time to change what they believe in but  the</subtitle>
+
<note for="0:18:4">
 
+
The system was StarSqueak, which is inspired by Resnick's StarLogo.  A book by Resnick explains the non-linearity of the simulation [https://mitpress.mit.edu/books/turtles-termites-and-traffic-jams].
<subtitle id="0:17:47"> way they do it is kind of  interesting and it's</subtitle>
+
</note>
 
+
<subtitle id="0:18:4">I have a little particle system here.</subtitle>
<subtitle id="0:17:50"> a kind of a  consensus</subtitle>
 
 
 
<subtitle id="0:17:53"> that is gradual</subtitle>
 
 
 
<subtitle id="0:17:56"> it's a seeping  kind of consensus</subtitle>
 
 
 
<subtitle id="0:17:59"> and it has many of the  same characteristics</subtitle>
 
 
 
<subtitle id="0:18:2"> as a model of a  forest fire</subtitle>
 
 
 
<subtitle id="0:18:5"> so I have a little particle</subtitle>
 
 
 
<subtitle id="0:18:8">  system here and the</subtitle>
 
 
 
<subtitle id="0:18:11"> percentage of</subtitle>
 
 
 
<subtitle id="0:18:14">  trees - the percentage of clearing</subtitle>
 
 
 
<subtitle id="0:18:17"> here  is just 50/50 so</subtitle>
 
 
 
<subtitle id="0:18:20"> if I say okay let's see  if if we can spread the fire</subtitle>
 
 
 
<subtitle id="0:18:23"> throughout  the forest here with a 50%</subtitle>
 
 
 
<subtitle id="0:18:26"></subtitle>
 
 
 
<subtitle id="0:18:29"> so I didn't  initialize that</subtitle>
 
 
 
<subtitle id="0:18:32"> let's try again  so</subtitle>
 
 
 
<subtitle id="0:18:35"> here's 50%</subtitle>
 
 
 
<subtitle id="0:18:38"> so surprising that he  doesn't try</subtitle>
 
 
 
<subtitle id="0:18:44">let's try go</subtitle>
 
 
 
<subtitle id="0:18:47"> up to 50 60 % let's say</subtitle>
 
 
 
<subtitle id="0:18:50"> you  can think of the 60% as</subtitle>
 
 
 
<subtitle id="0:18:53"> people who are  almost ready to agree people</subtitle>
 
 
 
<subtitle id="0:18:56"> are  essentially there</subtitle>
 
 
 
<subtitle id="0:19:2">so 10% more</subtitle>
 
 
 
<subtitle id="0:19:5"> it spreads better</subtitle>
 
 
 
<subtitle id="0:19:8"></subtitle>
 
 
 
<subtitle id="0:19:11"> try  another one</subtitle>
 
 
 
<subtitle id="0:19:14"> each time the placement</subtitle>
 
 
 
<subtitle id="0:19:17">random so you got a slightly different  behavior</subtitle>
 
 
 
<subtitle id="0:19:26">yeah so that's about what you get</subtitle>
 
 
 
<subtitle id="0:19:29"> babe</subtitle>
 
 
 
<subtitle id="0:19:32">  rings itself out so if we go up to like</subtitle>
 
 
 
<subtitle id="0:19:35">  66 percent or so 67 66</subtitle>
 
 
 
<subtitle id="0:19:44">yeah</subtitle>
 
 
 
<subtitle id="0:19:47"> so in these contagion models</subtitle>
 
 
 
<subtitle id="0:19:50"> you  can think of this as spreading means if  you will</subtitle>
 
 
 
<subtitle id="0:19:53"> roughly two-thirds of</subtitle>
 
 
 
<subtitle id="0:19:56"> this 80%  has to pretty</subtitle>
 
 
 
<subtitle id="0:19:59"> much be there before you  can get them</subtitle>
 
 
 
<subtitle id="0:20:2"> to agree and do something  because they just won't</subtitle>
 
 
 
<subtitle id="0:20:5"> do it unless  everybody else is doing it</subtitle>
 
 
 
<subtitle id="0:20:8"> and this  model works really great</subtitle>
 
 
 
<subtitle id="0:20:11"> for even weird  things like wearing baseball</subtitle>
 
 
 
<subtitle id="0:20:14"> caps  backwards and girls</subtitle>
 
 
 
<subtitle id="0:20:17"> showing their belly  buttons</subtitle>
 
 
 
<subtitle id="0:20:20"> if you trace the girls showing  their belly buttons</subtitle>
 
 
 
<subtitle id="0:20:23"> over the years  you'll see how gradual</subtitle>
 
 
 
<subtitle id="0:20:26"> this change was  until suddenly it was</subtitle>
 
 
 
<subtitle id="0:20:29"> okay and the thing  is if it's okay now</subtitle>
 
 
 
<subtitle id="0:20:32"> was always okay so  what's the problem well</subtitle>
 
 
 
<subtitle id="0:20:35"> the problem was  that this group generally</subtitle>
 
 
 
<subtitle id="0:20:38"> didn't think  it was okay it wasn't okay until about  two-thirds</subtitle>
 
 
 
<subtitle id="0:20:41"> of them thought it was okay  and then all of a sudden it became okay  so</subtitle>
 
 
 
<subtitle id="0:20:44"> you're trying to reform education</subtitle>
 
  
<subtitle id="0:20:47"> or  you're trying to get a group of</subtitle>
+
<subtitle id="0:18:10">The percentage of trees to the percentage of clearing here is just 50/50.</subtitle>
  
<subtitle id="0:20:50">to understand real object-oriented  programming or</subtitle>
+
<subtitle id="0:18:18">If I say okay, let's see if we can spread the fire throughout the forest here with a 50%.</subtitle>
  
<subtitle id="0:20:53"> any other new kind of  thing that comes along</subtitle>
+
<subtitle id="0:18:27">I didn't initialize that. Let's try again.</subtitle>
  
<subtitle id="0:20:56"> you get this  incredible disparity</subtitle>
+
<subtitle id="0:18:32">Here's 50%.</subtitle>
  
<subtitle id="0:20:59"> which in computing  there</subtitle>
+
<subtitle id="0:18:38">So surprising that it doesn't [burn much]. Try again.</subtitle>
  
<subtitle id="0:21:2"> are many many instances of roughly</subtitle>
+
<subtitle id="0:18:43">Let's try go up to 60%, Let's say. You can think of the 60% as people who are almost ready to agree.</subtitle>
  
<subtitle id="0:21:5">  30-year lags from when</subtitle>
+
<subtitle id="0:18:54">People are essentially there. So 10% more, it spreads better.</subtitle>
  
<subtitle id="0:21:8"> an idea was  really proved out to</subtitle>
+
<subtitle id="0:19:9">Try another one. Each time the placement is random so you got a slightly different behavior.</subtitle>
  
<subtitle id="0:21:11"> when it gets  generally accepted but nobody knows</subtitle>
+
<subtitle id="0:19:24">Yeah, so that's about what you get.</subtitle>
  
<subtitle id="0:21:14">whether this thirty years actually means  anything or</subtitle>
+
<subtitle id="0:19:31">they burned itself out. If we go up to like 66 percent or so 67, 66.</subtitle>
  
<subtitle id="0:21:17"> not but it's it's  interesting to look at the</subtitle>
+
<subtitle id="0:19:44">Yeah. In these contagion models, you can think of this as spreading memes, if you will.</subtitle>
  
<subtitle id="0:21:20"> case of UNIX  and all</subtitle>
+
<subtitle id="0:19:53">Roughly two-thirds of this 80% has to pretty much be there before you can get them to agree and do something: because they just won't do it unless everybody else is doing it.</subtitle>
  
<subtitle id="0:21:23"> of its different adventures</subtitle>
+
<subtitle id="0:20:7">This model works really great for even weird things like wearing baseball caps backwards and girls showing their belly buttons.</subtitle>
  
<subtitle id="0:21:26"> over  the years and finally</subtitle>
+
<subtitle id="0:20:18">If you trace the girls showing their belly buttons over the years, you'll see how gradual this change was, until suddenly it was okay.</subtitle>
  
<subtitle id="0:21:29"> being accepted  even though it has</subtitle>
+
<subtitle id="0:20:28">The thing is, if it's okay now, it was always okay. So, what's the problem?</subtitle>
  
<subtitle id="0:21:32"> a basically late 60s  architecture</subtitle>
+
<subtitle id="0:20:32">Well, the problem was that this group generally didn't think it was okay.</subtitle>
  
<subtitle id="0:21:35"> which is better than the  architecture of some of</subtitle>
+
<subtitle id="0:20:37"> It wasn't okay until about two-thirds of them thought it was okay. And then, all of a sudden it became okay.</subtitle>
  
<subtitle id="0:21:38"> the operating  systems that are around</subtitle>
+
<subtitle id="0:20:42">So, you're trying to reform education, or you're trying to get a group of people to understand real object-oriented programming, or any other new kind of thing that comes along, you get this incredible disparity,</subtitle>
  
<subtitle id="0:21:41">  but still it's a fairly old architecture</subtitle>
+
<subtitle id="0:20:58">which in computing, there are many many instances of roughly 30-year lags from when an idea was really proved out to when it gets generally accepted.</subtitle>
  
<subtitle id="0:21:44">  and so I'm desperately</subtitle>
+
<subtitle id="0:21:11">Nobody knows whether this thirty years actually means anything or not.</subtitle>
  
<subtitle id="0:21:47"> trying to hold on  to life until</subtitle>
+
<subtitle id="0:21:16">But it's interesting to look at the case of UNIX and all of its different adventures over the years and finally being accepted. </subtitle>
  
<subtitle id="0:21:50"> at least 2007 or</subtitle>
+
<subtitle id="0:21:28">Even though it has a basically late '60s architecture, which is better than the architecture of some of the operating systems that are around.</subtitle>
  
<subtitle id="0:21:53"> eight  because some quite a bit of</subtitle>
+
<subtitle id="0:21:39">But still, it's a fairly old architecture. So, I'm desperately trying to hold on to life until at least 2007 or 8.</subtitle>
  
<subtitle id="0:21:56"> the work at  Parc peaked 30 years ago</subtitle>
+
<subtitle id="0:21:52">Because quite a bit of the work at PARC peaked 30 years ago from those days, and I'm curious to see whether those ideas will actually be accepted.</subtitle>
  
<subtitle id="0:21:59">and I'm curious to see whether those  ideas will</subtitle>
+
== Doug Engelbart and NLS ==
 
 
<subtitle id="0:22:2"> actually be accepted</subtitle>
 
  
 
<note for="0:22:05">
 
<note for="0:22:05">
<slide for="0:22:05" name="NLS New.png"/>
+
<slide for="0:22:05" name="OOPSLA2004-NLS New.png"/>
 +
Doug Enbelbart on the Engelbart Institute site: [http://dougengelbart.org/].
 
</note>
 
</note>
<subtitle id="0:22:5"> however  if you look at an extreme case</subtitle>
+
<subtitle id="0:22:3">However, if you look at an extreme case, Doug Engelbart, who had some of the best ideas ever.</subtitle>
 
 
<subtitle id="0:22:8"> Doug  Engelbart who had some of the best</subtitle>
 
 
 
<subtitle id="0:22:11"> ideas  ever I think he was on a different plane</subtitle>
 
 
 
<subtitle id="0:22:14">  his ideas are now</subtitle>
 
 
 
<subtitle id="0:22:17"> getting closer and  closer to being 40</subtitle>
 
 
 
<subtitle id="0:22:20"> years old in their  articulate</subtitle>
 
 
 
<subtitle id="0:22:23"> expression and most people  still don't understand what</subtitle>
 
  
<subtitle id="0:22:26"> it was that  he was trying to do I</subtitle>
+
<subtitle id="0:22:10">I think he was on a different plane. His ideas are now getting closer and closer to being 40 years old in their articulate expression, and most people still don't understand what it was that he was trying to do.</subtitle>
  
 +
== Temptation of Complexity ==
  
 
<note for="0:22:29">
 
<note for="0:22:29">
<slide for="0:22:29" name="JOY.png"/>
+
<slide for="0:22:29" name="OOPSLA2004-JOY.png"/>
 +
The slide is in the style of the Joy of Cooking ["http://www.thejoykitchen.com/"].
 
</note>
 
</note>
<subtitle id="0:22:29"> think an ancillary</subtitle>
+
<subtitle id="0:22:28">I think an ancillary problem is that our field, and I think people in general, take great delight in complexity.</subtitle>
  
<subtitle id="0:22:32">  problem is that</subtitle>
+
<subtitle id="0:22:42">It seems like, you go to schools, it is remarkable how much work they make the poor kids do, when they taught the math better and differently, the kids would have to do much less work.</subtitle>
  
<subtitle id="0:22:35"> our field and</subtitle>
+
<subtitle id="0:22:59">But in fact, I think people delight in complexity and think that putting immense amounts of hard work in, even if there's an easier way is actually, there's something morally good about it.</subtitle>
  
<subtitle id="0:22:38">people in general take great delight in  complexity</subtitle>
+
<subtitle id="0:23:15">I think, for our field, one of the hardest things is the delight of complexity, because of the many levels of structure in computing, and the difficulty of going from one level to another.</subtitle>
  
<subtitle id="0:22:41"> seems</subtitle>
+
<subtitle id="0:23:33">Pretty much everyone who gets interested in computing and a successful at it is a person who has mastered staggering amounts of complexity.</subtitle>
  
<subtitle id="0:22:44"> like you go to schools</subtitle>
+
<subtitle id="0:23:42">Now, I believe that most of those complexity is absolutely unnecessary, and I believe it can be proved that it's unnecessary.</subtitle>
 
 
<subtitle id="0:22:47">  is remarkable</subtitle>
 
 
 
<subtitle id="0:22:50"> how much work they make  the poor kids do</subtitle>
 
 
 
<subtitle id="0:22:53"> when if they taught the  math</subtitle>
 
 
 
<subtitle id="0:22:56"> better and differently the kids  would have to do</subtitle>
 
 
 
<subtitle id="0:22:59"> much less work but in  fact I</subtitle>
 
 
 
<subtitle id="0:23:2"> think people the light in  complexity</subtitle>
 
 
 
<subtitle id="0:23:5"> and think that putting  immense</subtitle>
 
 
 
<subtitle id="0:23:8"> amounts of hard work in even if  there's an easier</subtitle>
 
 
 
<subtitle id="0:23:11"> way is actually  there's</subtitle>
 
 
 
<subtitle id="0:23:14"> something morally good about it  and</subtitle>
 
 
 
<subtitle id="0:23:17"> so I think for our field</subtitle>
 
 
 
<subtitle id="0:23:20"> one of the  hardest things is the delight and</subtitle>
 
 
 
<subtitle id="0:23:23">  complexity because of the many levels of</subtitle>
 
 
 
<subtitle id="0:23:26">  structure in computing and</subtitle>
 
 
 
<subtitle id="0:23:29"> the  difficulty of going from one level</subtitle>
 
 
 
<subtitle id="0:23:32"> to  another pretty much everyone</subtitle>
 
 
 
<subtitle id="0:23:35"> who gets  interested in computing and a successful</subtitle>
 
 
 
<subtitle id="0:23:38">  Abbot is a person who has mastered  staggering</subtitle>
 
 
 
<subtitle id="0:23:41"> amounts of complexity now</subtitle>
 
 
 
<subtitle id="0:23:44">believe that most of those complexity is  absolutely</subtitle>
 
 
 
<subtitle id="0:23:47"> unnecessary and I believe it  can be proved that</subtitle>
 
 
 
<subtitle id="0:23:50"> it's unnecessary  so</subtitle>
 
  
 
<note for="0:23:53">
 
<note for="0:23:53">
<slide for="0:23:53" name="JOY2.png"/>
+
<slide for="0:23:53" name="OOPSLA2004-JOY2.png"/>
 
</note>
 
</note>
<subtitle id="0:23:53"> what we really want is</subtitle>
+
<subtitle id="0:23:51">What we really want is to find the joy of simplicity.</subtitle>
  
<subtitle id="0:23:56"> to find the  joy of simplicity a lot of</subtitle>
+
<subtitle id="0:23:57">A lot of this talk is almost a living cliché, in the sense that very little of what I'm going to say here is stuff that you don't already know.</subtitle>
  
<subtitle id="0:23:59"> this talk is  almost a living cliche</subtitle>
+
<subtitle id="0:24:10">But, when I started thinking about what should I say at this talk, simplicity just kept on coming back.</subtitle>
  
<subtitle id="0:24:2"> in the sense that</subtitle>
+
<subtitle id="0:24:17">All the projects I've been involved in that have been successful have been successful because the people who worked in them put quite a bit of effort into keeping things to be simple.</subtitle>
  
<subtitle id="0:24:5">  very little of what I'm going to say  here</subtitle>
+
== PARC ==
 
 
<subtitle id="0:24:8"> is stuff that you don't already  know</subtitle>
 
 
 
<subtitle id="0:24:11"> but when I started thinking about  what should</subtitle>
 
 
 
<subtitle id="0:24:14"> I say at this talk  simplicity just kept on coming back</subtitle>
 
 
 
<subtitle id="0:24:17"> the  all the projects</subtitle>
 
 
 
<subtitle id="0:24:20"> I've been involved in  that have been successful have been</subtitle>
 
 
 
<subtitle id="0:24:23">  successful because the people who worked</subtitle>
 
 
 
<subtitle id="0:24:26">  in them put quite</subtitle>
 
 
 
<subtitle id="0:24:29"> a bit of effort into  keeping things to be</subtitle>
 
 
 
<subtitle id="0:24:32"> simple and this  community of ARPA</subtitle>
 
  
 
<note for="0:24:35">
 
<note for="0:24:35">
<slide for="0:24:35" name="PARC Inventions1.png"/>
+
<slide for="0:24:35" name="OOPSLA2004-PARC Inventions1.png"/>
 
</note>
 
</note>
<subtitle id="0:24:35"> and then Xerox PARC  was</subtitle>
+
<subtitle id="0:24:32">And, this community of ARPA and then Xerox PARC was outstanding at being simple.</subtitle>
  
<subtitle id="0:24:38"> outstanding at being</subtitle>
+
<subtitle id="0:24:41">This is a very, very confident group of people.</subtitle>
  
<subtitle id="0:24:41"> simple and</subtitle>
+
<subtitle id="0:24:48">But surprisingly, I won't use the word modest because I don't think anybody would recognize that word applied to these people, but I would say we are very, very respectful of these grand ideas they are trying to do.</subtitle>
  
<subtitle id="0:24:44"> this  is a very very confident</subtitle>
+
<note for="0:25:6">
 +
Butler Lampson on Wikipedia: [https://en.wikipedia.org/wiki/Butler_Lampson]
 +
</note>
 +
<subtitle id="0:25:6">Butler Lampson here was always pounding for simplicity.</subtitle>
  
<subtitle id="0:24:47"> group of people</subtitle>
+
<note for="0:25:6">
 +
Charles Thacker on Wikipedia: [https://en.wikipedia.org/wiki/Charles_P._Thacker].
 +
</note>
 +
<subtitle id="0:25:13">Chuck Thacker, we did the Alto in just three months, was a master of simplicity.</subtitle>
  
<subtitle id="0:24:50">  but surprisingly I</subtitle>
+
<subtitle id="0:25:20">Dan Ingalls was master of simplicity.</subtitle>
  
<subtitle id="0:24:53"> won't use the word  modest because I don't think</subtitle>
+
<note for="0:25:25">
 +
Robert Metcalfe and David Boggs designed Ethernet and started the 3COM compnay [http://ethernethistory.typepad.com/papers/EthernetPaper.pdf]
 +
</note>
 +
<subtitle id="0:25:25">So were Metcalfe and Boggs.</subtitle>
  
<subtitle id="0:24:56"> anybody  would recognize that word applied</subtitle>
+
<subtitle id="0:25:29">Metcalfe tells a great, great stories about how he didn't actually -- how many things he'd actually didn't understand.</subtitle>
  
<subtitle id="0:24:59"> to  these people but I would say we</subtitle>
+
<subtitle id="0:25:36">It was incredibly important that he did not understand of of these things. Else, he never would have been able to invent the Ethernet.</subtitle>
 
+
<note for="0:25:44">
<subtitle id="0:25:2"> very  very respectful of these grand</subtitle>
+
Gary Starkweather on Wikipedia: [https://en.wikipedia.org/wiki/Gary_Starkweather]
 
+
</note>
<subtitle id="0:25:5"> ideas  they are trying to do Butler</subtitle>
+
<subtitle id="0:25:44">Gary Starkweather, who did the laser printer -- first laser printer was a page a second, 500 pixels to the inch, faster than most laser printers today, was about three-quarters made with parts that Gary got from Edmund Scientific hobby catalog,</subtitle>
 
 
<subtitle id="0:25:8"> Lampson  here was</subtitle>
 
 
 
<subtitle id="0:25:11"> always pounding for simplicity</subtitle>
 
 
 
<subtitle id="0:25:14">  Chuck Thacker we</subtitle>
 
 
 
<subtitle id="0:25:17"> did the alto and just  three months was</subtitle>
 
 
 
<subtitle id="0:25:20"> a master of simplicity  dan angles master</subtitle>
 
 
 
<subtitle id="0:25:23"> of simplicity so and</subtitle>
 
 
 
<subtitle id="0:25:26">  Metcalf and Boggs</subtitle>
 
 
 
<subtitle id="0:25:29"> that calf tells a  great great</subtitle>
 
 
 
<subtitle id="0:25:32"> stories about how he didn't  actually</subtitle>
 
 
 
<subtitle id="0:25:35"> how many things he'd actually  didn't understand and</subtitle>
 
 
 
<subtitle id="0:25:38"> it was incredibly  important that he</subtitle>
 
 
 
<subtitle id="0:25:41">of those things else he never would have  been able to</subtitle>
 
 
 
<subtitle id="0:25:44"> invent the ethernet very</subtitle>
 
 
 
<subtitle id="0:25:47">Starkweather who did the laser printer  first</subtitle>
 
 
 
<subtitle id="0:25:50"> laser printer was a page a second  500</subtitle>
 
 
 
<subtitle id="0:25:53"> pixels to the inch faster</subtitle>
 
 
 
<subtitle id="0:25:56"> than most  laser printers today</subtitle>
 
 
 
<subtitle id="0:25:59"> was about  three-quarters made with</subtitle>
 
  
<subtitle id="0:26:2">got from Edmunds  typic hobby</subtitle>
+
<subtitle id="0:26:6">because they were cheap so he could get many of them and try them out, and so forth.</subtitle>
  
<subtitle id="0:26:5"> catalog because</subtitle>
+
<subtitle id="0:26:14">This particular way of looking at things, which was... basically this group said we're just nowhere near as smart as IBM claims to be.</subtitle>
  
<subtitle id="0:26:8"> they were  cheap so he could get many</subtitle>
+
<subtitle id="0:26:29">They're always announcing some new complicated network architecture that we can't see how to make it work.</subtitle>
  
<subtitle id="0:26:11"> of them and  try them out and so forth</subtitle>
+
<subtitle id="0:26:37">So, we'll just stick to our old full duplex ideas and retransmission, and put a few other things in there.</subtitle>
  
<subtitle id="0:26:14"> so this</subtitle>
+
<subtitle id="0:26:44">It may not work as well as what IBM claims it's going to do, but it's probably going to work.</subtitle>
  
<subtitle id="0:26:17"> this  particular</subtitle>
+
<subtitle id="0:26:51">Funny thing is that the network's we use today are those terribly designed, unbelievably inefficient stochastic networks that are far from perfect.</subtitle>
  
<subtitle id="0:26:20"> way of looking at things  which was basically</subtitle>
+
<subtitle id="0:27:4">But, what's great is that they eventually get that packet through perfectly.</subtitle>
  
<subtitle id="0:26:23"> Hayward basically  the this</subtitle>
+
<subtitle id="0:27:09">You just have to be willing to wait.</subtitle>
  
<subtitle id="0:26:26"> group said we're just nowhere  near as smart as IBM</subtitle>
+
== The idea of Kernels to build Larger Systems ==  
 
 
<subtitle id="0:26:29"> claims to be  they're always</subtitle>
 
 
 
<subtitle id="0:26:32"> announcing some new  complicated network architecture</subtitle>
 
 
 
<subtitle id="0:26:35"> that we  can't see how to make it work and</subtitle>
 
 
 
<subtitle id="0:26:38"> so  we'll just stick to our old full</subtitle>
 
 
 
<subtitle id="0:26:41"> duplex  ideas and retransmission and</subtitle>
 
 
 
<subtitle id="0:26:44"> put a few  other things in there and it</subtitle>
 
 
 
<subtitle id="0:26:47"> may not  work as well as what IBM claims it's  going to do</subtitle>
 
 
 
<subtitle id="0:26:50"> but it's probably gonna work  and</subtitle>
 
 
 
<subtitle id="0:26:53"> funny thing is the network's we use  today are those</subtitle>
 
 
 
<subtitle id="0:26:56"> terribly designed</subtitle>
 
 
 
<subtitle id="0:26:59">  unbelievably inefficient stochastic</subtitle>
 
 
 
<subtitle id="0:27:2">  networks that are</subtitle>
 
 
 
<subtitle id="0:27:5"> far from perfect but  what's great is that they</subtitle>
 
 
 
<subtitle id="0:27:8"> eventually get  that packet through perfectly you</subtitle>
 
 
 
<subtitle id="0:27:11"> just  have to be willing to wait so</subtitle>
 
  
 
<note for="0:27:14">
 
<note for="0:27:14">
<slide for="0:27:14" name="Some Prejudices.png"/>
+
<slide for="0:27:14" name="OOPSLA2004-Some Prejudices.png"/>
 +
Books shown are "Molecular Biology of the Gene" by James Watson, "Relativity Visualized" by Lewis Carroll Epstein, and the US Constitution.
 
</note>
 
</note>
<subtitle id="0:27:14"> the other  thing that this group</subtitle>
+
<subtitle id="0:27:14">The other thing that this group was really good at was what I call a different kind of simplicity.</subtitle>
  
<subtitle id="0:27:17"> was really good at  was what I call</subtitle>
+
<subtitle id="0:27:23">It's hard to claim that Maxwell's equations here is simple, because there are all that work you have to do to understand vectors and curl and divergence and gradient.</subtitle>
  
<subtitle id="0:27:20"> a different kind of  simplicity</subtitle>
+
<subtitle id="0:27:36">But the thing about it is once you've done that work it shrinks down to something that's just a simple eyeful.</subtitle>
  
<subtitle id="0:27:23"> so it's it's hard to claim  that Maxwell's</subtitle>
+
<subtitle id="0:27:43">the Constitution of the United States is one of my favorite systems design.</subtitle>
  
<subtitle id="0:27:26"> equations here is simple  because</subtitle>
+
<subtitle id="0:27:49">Think of it: Millions and millions of mutually incompatible parts running without completely breaking for more than 200 years. Pretty Amazing.</subtitle>
  
<subtitle id="0:27:29"> they're all that work you have  to do</subtitle>
+
<subtitle id="0:27:59">You can hold it in your hand. The reason you can hold it in your hand is they were wise not to put any laws in it.</subtitle>
  
<subtitle id="0:27:32"> to understand vectors and curl</subtitle>
+
<subtitle id="0:28:6">It was not a law-based thing. It's not a case-based thing. It was a principle-based thing. It was a kernel.</subtitle>
  
<subtitle id="0:27:35"> and  divergence and gradient but</subtitle>
+
<subtitle id="0:28:14">These are the kinds of things that appeal to me greatly over the years.</subtitle>
  
<subtitle id="0:27:38">hing about it is once you've done that  work it shrinks</subtitle>
+
<subtitle id="0:28:21">I think trying to give beginners at computing a taste for the power of the particular kind of simplicity that works so well is what we should do</subtitle>
  
<subtitle id="0:27:41"> down to something that's  just a simple eyeful</subtitle>
+
== Relationship between Science, Math, Computing and Systems in Introductory Courses ==  
 
 
<subtitle id="0:27:44"> the Constitution</subtitle>
 
 
 
<subtitle id="0:27:47">the United States is one of my favorite  systems design</subtitle>
 
 
 
<subtitle id="0:27:50"> think of it millions</subtitle>
 
 
 
<subtitle id="0:27:53"> and  millions of mutually incompatible parts</subtitle>
 
 
 
<subtitle id="0:27:56">  running without completely breaking for  more</subtitle>
 
 
 
<subtitle id="0:27:59"> than 200 years pretty amazing</subtitle>
 
 
 
<subtitle id="0:28:2">can hold it in your hand the reason you  can hold it in your</subtitle>
 
 
 
<subtitle id="0:28:5"> hand is there a wise  not to put any laws in it</subtitle>
 
 
 
<subtitle id="0:28:8"> so it was not  a law based thing it's not a case</subtitle>
 
 
 
<subtitle id="0:28:11"> based  thing it was a principle based thing  was a kernel</subtitle>
 
 
 
<subtitle id="0:28:14"> so these</subtitle>
 
 
 
<subtitle id="0:28:17"> are the kinds of  things that appeal to me greatly</subtitle>
 
 
 
<subtitle id="0:28:20"> over  the years and</subtitle>
 
 
 
<subtitle id="0:28:23"> I think trying to give  beginners</subtitle>
 
 
 
<subtitle id="0:28:26"> at computing a taste for</subtitle>
 
 
 
<subtitle id="0:28:29"> the  power of the particular kind of  simplicity</subtitle>
 
 
 
<subtitle id="0:28:32"> that works so well is what we  should do</subtitle>
 
  
 
<note for="0:28:35">
 
<note for="0:28:35">
<slide for="0:28:35" name="Four Areas.png"/>
+
<slide for="0:28:35" name="OOPSLA2004-Four Areas.png"/>
 
</note>
 
</note>
<subtitle id="0:28:35"> now the other thing I've  noticed in</subtitle>
+
<subtitle id="0:28:35">Now, the other thing I've noticed in talking with younger people and teaching a course, upper division course at UCLA once a year, is that</subtitle>
  
<subtitle id="0:28:38"> talking with younger people</subtitle>
+
<subtitle id="0:28:47">it's not so much that the juniors and seniors don't know that much: they actually don't know that much for being close to graduating from college, but the thing that is distressing about them is that the things that they do know, they know very badly,</subtitle>
  
<subtitle id="0:28:41">  and teaching a course upper</subtitle>
+
<subtitle id="0:29:5">as they know them in ways that are almost counterproductive for their thinking.</subtitle>
  
<subtitle id="0:28:44"> division  course UCLA once a year and</subtitle>
+
<subtitle id="0:29:12">So I think in a first course at anything, you have a real chance to not just teach the one subject. But in the first course, you can actually touch on a lot of subjects.</subtitle>
  
<subtitle id="0:28:47"> that is that  the it's not so much that the</subtitle>
+
<subtitle id="0:29:26">For instance, I think math and science should always be taught together in the beginning.</subtitle>
  
<subtitle id="0:28:50"> juniors  and seniors don't</subtitle>
+
<subtitle id="0:29:33">They came about that way. One is a language and one is a process.</subtitle>
  
<subtitle id="0:28:53"> know that much they  actually don't know</subtitle>
+
<subtitle id="0:29:39">I think systems and computing should be taught together. I think the four of them should be taught together.</subtitle>
  
<subtitle id="0:28:56"> that much for being  close</subtitle>
+
<subtitle id="0:29:46">there are arts. We should teach art and engineering, and why not throw in a little bit about how these unusual ways of looking at the world have affected civilization.</subtitle>
  
<subtitle id="0:28:59"> to graduating from college but the  thing that is the</subtitle>
+
<subtitle id="0:29:59">I think the other thing that is so critical and so absent in most of our undergraduate computer science curricula is the failure to think what we're doing as a kind of literacy.</subtitle>
  
<subtitle id="0:29:2"> stressing about them  is that the</subtitle>
+
<subtitle id="0:30:15">Literacy is something that comes up about when you have first ideas that are worthwhile talking about.</subtitle>
  
<subtitle id="0:29:5"> things that they do know  they know very badly as</subtitle>
+
<subtitle id="0:30:21">You have a way of writing down those ideas and discussing them that gives literature.</subtitle>
  
<subtitle id="0:29:8"> they know them  in ways that are almost</subtitle>
+
<subtitle id="0:30:26">Literacy is the ability to deal with both the spoken and the written forms of these ideas.</subtitle>
  
<subtitle id="0:29:11">  counterproductive for their thinking</subtitle>
+
<subtitle id="0:30:34">When we teach an English class, a first English class in college, we're not aiming that class at people who are going to become professional writers, when they graduate four years later, </subtitle>
  
<subtitle id="0:29:14"> and  so I think in a first course</subtitle>
+
<subtitle id="0:30:45">We actually think of the impact of the printing press, and the new rhetorics and new ways of arguing that came with the printing press as something that is larger than becoming a professional reader or writer.</subtitle>
  
<subtitle id="0:29:17"> at anything  you have a real chance</subtitle>
+
<subtitle id="0:31:3">I think the same thing is true for computing.</subtitle>
  
<subtitle id="0:29:20"> to not just teach</subtitle>
+
<subtitle id="0:31:6">Fifty years from now, this will not be controversial. But right now, it's thought of as, even in mighty Stanford with its great endowment, as basically vocational training in Java. It's primarily thought of as teaching kids programming.</subtitle>
  
<subtitle id="0:29:23">  the one subject but in the first</subtitle>
+
<subtitle id="0:31:25">It's absolutely important to learn how to program but computer science and software engineering are not the same as programming, any more than building Chartres Cathedral is the same as Brick Laying.</subtitle>
  
<subtitle id="0:29:26">you can actually touch on a lot of  subjects so</subtitle>
+
<subtitle id="0:31:40">You have to understand one the other, but they're very different.</subtitle>
  
<subtitle id="0:29:29"> for instance I think math  and science should always be</subtitle>
+
<note for="0:31:44">
 
+
Konrad Lorenz was an ethologist [https://en.wikipedia.org/wiki/Konrad_Lorenz].  He is famous for books such as [https://en.wikipedia.org/wiki/King_Solomon%27s_Ring_(book)|King Solomon's Ring].
<subtitle id="0:29:32"> taught  together in the beginning they</subtitle>
+
</note>
 
+
<subtitle id="0:31:44">I think this is absolutely critical, because the picture on this little slide here is Konrad Lorenz out swimming in the pond with his ducks following.</subtitle>
<subtitle id="0:29:35"> came  about that way one is a language</subtitle>
 
 
 
<subtitle id="0:29:38"> one is  a process I think</subtitle>
 
 
 
<subtitle id="0:29:41"> systems and computing  should be taught together</subtitle>
 
 
 
<subtitle id="0:29:44"> I think the  four of them should be taught together</subtitle>
 
 
 
<subtitle id="0:29:47">  there arts we should teach you art</subtitle>
 
 
 
<subtitle id="0:29:50"> and  engineering and why</subtitle>
 
 
 
<subtitle id="0:29:53"> not throw in a  little bit about how these unusual</subtitle>
 
 
 
<subtitle id="0:29:56"> ways  of looking at the world have affected</subtitle>
 
 
 
<subtitle id="0:29:59">  civilization I think the other</subtitle>
 
 
 
<subtitle id="0:30:2"> thing  that is so critical and</subtitle>
 
 
 
<subtitle id="0:30:5"> so absent in  most of our undergraduate computer</subtitle>
 
 
 
<subtitle id="0:30:8">  science curricula is the failure to</subtitle>
 
 
 
<subtitle id="0:30:11">  think what we're doing as</subtitle>
 
 
 
<subtitle id="0:30:14"> a kind of  literacy literacy</subtitle>
 
 
 
<subtitle id="0:30:17"> is something that  comes up about when</subtitle>
 
 
 
<subtitle id="0:30:20"> you have first ideas  that are worthwhile talking about you</subtitle>
 
 
 
<subtitle id="0:30:23">  have a way of writing down those ideas  and discussing</subtitle>
 
 
 
<subtitle id="0:30:26"> them that gives  literature and literacy is</subtitle>
 
 
 
<subtitle id="0:30:29"> the ability  to deal with both the spoken</subtitle>
 
 
 
<subtitle id="0:30:32"> and the  written forms of these</subtitle>
 
 
 
<subtitle id="0:30:35"> ideas so when we  teach an English class our first</subtitle>
 
 
 
<subtitle id="0:30:38"> English  class in college we're not aiming</subtitle>
 
 
 
<subtitle id="0:30:41">class at people who are going to become  professional writers</subtitle>
 
 
 
<subtitle id="0:30:44"> when they graduate  four years later</subtitle>
 
 
 
<subtitle id="0:30:47"> we actually think of  the impact</subtitle>
 
 
 
<subtitle id="0:30:50"> of the printing press and the  new</subtitle>
 
 
 
<subtitle id="0:30:53"> rhetorics and new ways of arguing  that came with a printing</subtitle>
 
 
 
<subtitle id="0:30:56"> press as  something that is</subtitle>
 
 
 
<subtitle id="0:30:59"> larger than</subtitle>
 
 
 
<subtitle id="0:31:2"> becoming a  professional reader or writer I</subtitle>
 
 
 
<subtitle id="0:31:5"> think  the same thing is true of computing</subtitle>
 
 
 
<subtitle id="0:31:8">  fifty years from now this will not be</subtitle>
 
 
 
<subtitle id="0:31:11">  controversial so right now it's thought</subtitle>
 
 
 
<subtitle id="0:31:14">  of as even in mighty Stanford with</subtitle>
 
 
 
<subtitle id="0:31:17"> its  great endowment as basically vocational  training</subtitle>
 
 
 
<subtitle id="0:31:20"> in Java and it's primarily  thought</subtitle>
 
 
 
<subtitle id="0:31:23"> of as teaching kids programming</subtitle>
 
 
 
<subtitle id="0:31:26">  and it's absolutely important</subtitle>
 
 
 
<subtitle id="0:31:29"> to learn  how to program but</subtitle>
 
 
 
<subtitle id="0:31:32"> computer science and  software engineering</subtitle>
 
 
 
<subtitle id="0:31:35"> are not the same as  programming any</subtitle>
 
 
 
<subtitle id="0:31:38"> more than building  Chartres Cathedral is the same as Brick  Lane</subtitle>
 
 
 
<subtitle id="0:31:41"> you have to understand one</subtitle>
 
 
 
<subtitle id="0:31:44">the other but they're very different I  think this</subtitle>
 
 
 
<subtitle id="0:31:47"> is absolutely critical  because the picture on this little</subtitle>
 
 
 
<subtitle id="0:31:50"> slide  here is Konrad Lorenz</subtitle>
 
 
 
<subtitle id="0:31:53"> out swimming in  the pond with his ducks following</subtitle>
 
 
 
<subtitle id="0:31:56">  remember of Lorentz</subtitle>
 
 
 
<subtitle id="0:31:59"> found that whatever  moved</subtitle>
 
 
 
<subtitle id="0:32:2"> near a duckling during one little  critical period</subtitle>
 
 
 
<subtitle id="0:32:5"> of a few hours was taken  thereafter</subtitle>
 
 
 
<subtitle id="0:32:8"> by that duckling to be its  mother and</subtitle>
 
 
 
<subtitle id="0:32:11"> it would follow even into  adulthood that that</subtitle>
 
 
 
<subtitle id="0:32:14"> person and rents</subtitle>
 
 
 
<subtitle id="0:32:17">found that they would follow him even  more happily if he jumped</subtitle>
 
 
 
<subtitle id="0:32:20"> into the water  so there he is so</subtitle>
 
 
 
<subtitle id="0:32:23"> I think whenever we're  introducing somebody to something we</subtitle>
 
 
 
<subtitle id="0:32:26">  have to realize that we are going to be  a con</subtitle>
 
 
 
<subtitle id="0:32:29"> if we're successful we're going to  be a kind of Konrad Lorenz and</subtitle>
 
 
 
<subtitle id="0:32:32"> we should  take great care to</subtitle>
 
 
 
<subtitle id="0:32:35"> what we're going to  imprint them on but we don't want to  imprint</subtitle>
 
 
 
<subtitle id="0:32:38"> them on for God's sakes  his data structures and</subtitle>
 
 
 
<subtitle id="0:32:41"> algorithms that  was a</subtitle>
 
 
 
<subtitle id="0:32:44"> great idea in the 50s and</subtitle>
 
 
 
<subtitle id="0:32:47"> you had  to understand it and it's still useful</subtitle>
 
 
 
<subtitle id="0:32:50">  today for optimization and other</subtitle>
 
 
 
<subtitle id="0:32:53">of things but it is not the center of  the field</subtitle>
 
  
<subtitle id="0:32:56"> for a long time  and what's</subtitle>
+
<subtitle id="0:31:54">Remember of Lorentz found that whatever moved near a duckling during one little critical period of a few hours was taken thereafter by that duckling to be its mother.</subtitle>
  
<subtitle id="0:32:59"> worse about it it doesn't  scale those</subtitle>
+
<subtitle id="0:32:9">And, it would follow even into adulthood that person.</subtitle>
  
<subtitle id="0:33:2"> very little systems aspect  in way</subtitle>
+
<subtitle id="0:32:14">Lorenz found that they would follow him, even more happily if he jumped into the water. So, there he is.</subtitle>
  
<subtitle id="0:33:5"> the data structures and  algorithms are taught and so</subtitle>
+
<subtitle id="0:32:20">I think whenever we're introducing somebody to something, we have to realize that we are going to be a Konrad.</subtitle>
  
<subtitle id="0:33:8"> I believe  that we have to do</subtitle>
+
<subtitle id="0:32:28">If we're successful, we're going to be a kind of Konrad Lorenz. We should take great care to what we're going to imprint them on.</subtitle>
  
<subtitle id="0:33:11"> is give the students  a real taste what</subtitle>
+
<subtitle id="0:32:34">We don't want to imprint them on, for God's sakes, is the data structures and algorithms.</subtitle>
  
<subtitle id="0:33:14"> the whole deal is and  so they have to</subtitle>
+
<subtitle id="0:32:41">That was a great idea in the 50s and you had to understand it. And, it's still useful today for optimization and other things.</subtitle>
  
<subtitle id="0:33:17"> start thinking in  systems ways thinking</subtitle>
+
<subtitle id="0:32:52">But, it is not the center of the field, and has not been at the center of the field for a long time.</subtitle>
  
<subtitle id="0:33:20"> in math and  alkaway scientific ways as</subtitle>
+
<subtitle id="0:32:56">What's worse about it is it doesn't scale.</subtitle>
  
<subtitle id="0:33:23"> we go along  this is a tall order</subtitle>
+
<subtitle id="0:33:0">Those very little systems aspect in way the data structures and algorithms are taught.</subtitle>
  
<subtitle id="0:33:26"> obviously now we  could all remember</subtitle>
+
<subtitle id="0:33:7">I believe that we have to do is to give the students a real taste of what the whole deal is.</subtitle>
  
<subtitle id="0:33:29"> our Conrad Lorentz  and</subtitle>
+
<subtitle id="0:33:14">They have to start thinking in systems ways, thinking in mathematical ways, scientific ways, as we go along.</subtitle>
  
<subtitle id="0:33:32"> mine</subtitle>
+
<subtitle id="0:33:23">This is a tall order, obviously.</subtitle>
  
<subtitle id="0:33:35"> happened after I'd been a  programmer for five years</subtitle>
+
== Sketchpad ==
  
<note for="0:33:38">
+
<note for="0:33:32">
<slide for="0:33:38" name="Sketchpad1.png"/>
+
<slide for="0:33:32" name="OOPSLA2004-Sketchpad1.png"/>
 +
Alan shows the Sketchpad movie embedded in the slide. There are numerous instances of the movie online.  A digital version of his thesis is also available: [https://www.cl.cam.ac.uk/techreports/UCAM-CL-TR-574.pdf].
 
</note>
 
</note>
<subtitle id="0:33:38"> a journeyman  programmer putting myself through</subtitle>
+
<subtitle id="0:33:26">Now, we could all remember our Konrad Lorentz. Mine happened after I'd been a programmer for five years.</subtitle>
 
 
<subtitle id="0:33:41"> school  went to graduate school and</subtitle>
 
 
 
<subtitle id="0:33:44"> was given  Ivan</subtitle>
 
 
 
<subtitle id="0:33:47"> Sutherlands thesis by Dave Evans  and</subtitle>
 
 
 
<subtitle id="0:33:50"> Dave said read it</subtitle>
 
 
 
<subtitle id="0:33:53"> then come back and  talk with me about it</subtitle>
 
 
 
<subtitle id="0:33:56">  and it was big thick</subtitle>
 
 
 
<subtitle id="0:33:59"> thing and but I saw  that his thesis</subtitle>
 
 
 
<subtitle id="0:34:2"> advisor was a guy by the  name of Claude e Shannon</subtitle>
 
 
 
<subtitle id="0:34:5"> and I'd heard  of Shannon I thought well</subtitle>
 
 
 
<subtitle id="0:34:8"> boy if Shannon  signed this thing maybe I should read it</subtitle>
 
 
 
<subtitle id="0:34:11">  and I discovered that it</subtitle>
 
 
 
<subtitle id="0:34:14"> was the most  amazing thing that I</subtitle>
 
 
 
<subtitle id="0:34:17"> had ever heard of  being done with a computer</subtitle>
 
 
 
<subtitle id="0:34:20"> up to that  point and</subtitle>
 
 
 
<subtitle id="0:34:23"> just show</subtitle>
 
 
 
<subtitle id="0:34:26"> you a little bit of  the idea</subtitle>
 
 
 
<subtitle id="0:34:29"> of it so this this</subtitle>
 
 
 
<subtitle id="0:34:32">which is about the size of this  auditorium</subtitle>
 
 
 
<subtitle id="0:34:35"> had only one guy on it from 3  o'clock</subtitle>
 
 
 
<subtitle id="0:34:38">the morning you know as he just sketched  in something</subtitle>
 
 
 
<subtitle id="0:34:41"> there then told those edges  to become usually</subtitle>
 
 
 
<subtitle id="0:34:44"> perpendicular and  sketchpad figured out how to do that for  him</subtitle>
 
 
 
<subtitle id="0:34:47"> first system to have a clipping</subtitle>
 
 
 
<subtitle id="0:34:50">window  are you actually drawing on this huge</subtitle>
 
 
 
<subtitle id="0:34:53">  virtual sheet of paper Danny</subtitle>
 
 
 
<subtitle id="0:34:56"> draw  quickly point to these two</subtitle>
 
 
 
<subtitle id="0:34:59"> guys and say  okay become parallel figures</subtitle>
 
 
 
<subtitle id="0:35:2"> out how to  do that now</subtitle>
 
 
 
<subtitle id="0:35:5"> he's saying be collinear</subtitle>
 
 
 
<subtitle id="0:35:8"> to  lay yourself over</subtitle>
 
 
 
<subtitle id="0:35:11"> these lines and of  course</subtitle>
 
 
 
<subtitle id="0:35:14"> this display on this machine only  plotted points</subtitle>
 
 
 
<subtitle id="0:35:17"> about half the capacity  of this machine</subtitle>
 
 
 
<subtitle id="0:35:20"> I'm about here over to  the air it</subtitle>
 
 
 
<subtitle id="0:35:23"> was just to put these little  dots up on the screen and pretend</subtitle>
 
 
 
<subtitle id="0:35:26"> it was  a line drawing display</subtitle>
 
 
 
<subtitle id="0:35:29"> now he's got a  hole in the flange</subtitle>
 
 
 
<subtitle id="0:35:32"> okay</subtitle>
 
 
 
<subtitle id="0:35:35"> and he wants to  make a rivet</subtitle>
 
 
 
<subtitle id="0:35:38"> got some</subtitle>
 
 
 
<subtitle id="0:35:41"> more ink  notice that the two-handed user  interface</subtitle>
 
 
 
<subtitle id="0:35:44"> as all user interfaces should  be</subtitle>
 
 
 
<subtitle id="0:35:47"> put</subtitle>
 
 
 
<subtitle id="0:35:50"> that other hand is for point</subtitle>
 
 
 
<subtitle id="0:35:53">he center of the cross piece there to  get the center</subtitle>
 
 
 
<subtitle id="0:35:56"> of the arc and again  let's</subtitle>
 
 
 
<subtitle id="0:35:59"> do the mutually perpendicular  trick</subtitle>
 
 
 
<subtitle id="0:36:2"> that drags the center guys which  drags the</subtitle>
 
 
 
<subtitle id="0:36:5"> art guys we got a nice little  symmetric rivet</subtitle>
 
 
 
<subtitle id="0:36:8"> and he could tell it to  be</subtitle>
 
 
 
<subtitle id="0:36:11"> in some ratio the</subtitle>
 
 
 
<subtitle id="0:36:14"> two sides of the  vertical part</subtitle>
 
 
 
<subtitle id="0:36:17"> of the rivet here he's  just showing it us that will do another  solution</subtitle>
 
 
 
<subtitle id="0:36:20"> and</subtitle>
 
 
 
<subtitle id="0:36:23"> now he's going to go</subtitle>
 
 
 
<subtitle id="0:36:26"> back  to the original form and</subtitle>
 
 
 
<subtitle id="0:36:29"> show us one  other interesting thing</subtitle>
 
 
 
<subtitle id="0:36:32"> which</subtitle>
 
 
 
<subtitle id="0:36:35"> is he can  make instances of this guy</subtitle>
 
 
 
<subtitle id="0:36:41">they gets</subtitle>
 
 
 
<subtitle id="0:36:44"> a instance of the rivet here I  can move it around</subtitle>
 
 
 
<subtitle id="0:36:47"></subtitle>
 
 
 
<subtitle id="0:36:50"> and see the success  of sketchpad</subtitle>
 
 
 
<subtitle id="0:36:53"> led to a desire for a  better looking displays</subtitle>
 
 
 
<subtitle id="0:36:56"> actually</subtitle>
 
 
 
<subtitle id="0:36:59"> those  twinkling is they</subtitle>
 
 
 
<subtitle id="0:37:2"> discovered right away  that you got seasick unless</subtitle>
 
 
 
<subtitle id="0:37:5"> they  randomly plotted the dots so</subtitle>
 
 
 
<subtitle id="0:37:8">mething's being done in there they're  actually sorting half</subtitle>
 
 
 
<subtitle id="0:37:11"> the memory of the  machine to keep the dot display random</subtitle>
 
 
 
<subtitle id="0:37:14">  so it wouldn't swim around much more  than</subtitle>
 
 
 
<subtitle id="0:37:17"> it it is here</subtitle>
 
 
 
<subtitle id="0:37:20"> he's</subtitle>
 
 
 
<subtitle id="0:37:23"> got four  instances now and he says whoops I</subtitle>
 
 
 
<subtitle id="0:37:26">  forgot about the cross piece so it goes  to the master</subtitle>
 
 
 
<subtitle id="0:37:29"> which we would call a  class makes</subtitle>
 
 
 
<subtitle id="0:37:32"> the cross pieces transparent  and</subtitle>
 
 
 
<subtitle id="0:37:35"> we see the instances all feel that</subtitle>
 
 
 
<subtitle id="0:37:41">so now he</subtitle>
 
 
 
<subtitle id="0:37:47">'s going to</subtitle>
 
 
 
<subtitle id="0:37:50"> take this thing that  he just made and make</subtitle>
 
 
 
<subtitle id="0:37:53"> it into a master  so the new construction</subtitle>
 
 
 
<subtitle id="0:37:56"> is a master and  now he can get some instances of this</subtitle>
 
 
 
<subtitle id="0:37:59">  flange here so the</subtitle>
 
 
 
<subtitle id="0:38:2"> the</subtitle>
 
 
 
<subtitle id="0:38:5"> range of  sketchpad was surprising so</subtitle>
 
 
 
<subtitle id="0:38:8"> by the end  of 1962 he</subtitle>
 
 
 
<subtitle id="0:38:11"> could not only do stuff like  this but</subtitle>
 
 
 
<subtitle id="0:38:14"> he decided okay I need</subtitle>
 
 
 
<subtitle id="0:38:17"> letters  and numbers so he</subtitle>
 
 
 
<subtitle id="0:38:20"> letters and numbers  were actually made out of the sketchpad</subtitle>
 
 
 
<subtitle id="0:38:23">  stuff directly by drawing them in so</subtitle>
 
 
 
<subtitle id="0:38:26">f the captions on all of his drawings  and his thesis</subtitle>
 
 
 
<subtitle id="0:38:29"> were made by the system  as well and</subtitle>
 
 
 
<subtitle id="0:38:32"> then he realized oh yeah I  can actually do a bridge</subtitle>
 
  
<subtitle id="0:38:35"> because the  bridge actually acts a</subtitle>
+
<subtitle id="0:33:36">A journeyman programmer putting myself through school, went to graduate school, and was given Ivan Sutherland's thesis by Dave Evans.</subtitle>
  
<subtitle id="0:38:38"> little bit like a  very stiff set of Springs and</subtitle>
+
<subtitle id="0:33:49">Dave said: "Read it, then come back and talk with me about it."</subtitle>
  
<subtitle id="0:38:41"> I can tell  sketchpad</subtitle>
+
<subtitle id="0:33:55">It was big thick thing, but I saw that his thesis advisor was a guy by the name of Claude E. Shannon.</subtitle>
  
<subtitle id="0:38:44"> to try and keep these</subtitle>
+
<subtitle id="0:34:5">I'd heard of Shannon. I thought: "Boy, if Shannon signed this thing, maybe I should read it."</subtitle>
  
<subtitle id="0:38:47"> guys  constant when something is trying to  force</subtitle>
+
<subtitle id="0:34:10">I discovered that it was the most amazing thing that I had ever heard of being done with a computer up to that point. [I will] just show you a little bit of the idea of it.</subtitle>
  
<subtitle id="0:38:50"> them to move and I can measure the</subtitle>
+
<subtitle id="0:34:28">This is a huge machine, which is about the size of this auditorium, had only one guy on it from 3 o'clock the morning to 6 o'clock the morning.</subtitle>
  
<subtitle id="0:38:53">  disparity the strain</subtitle>
+
<subtitle id="0:34:38">You know, as he just sketched in something there, then told those edges to become mutually perpendicular, and Sketchpad figured out how to do that for him.</subtitle>
  
<subtitle id="0:38:56"> on each one of  these guys and I actually can show</subtitle>
+
<subtitle id="0:34:46">First system to have a clipping window. You are actually drawing on this huge virtual sheet of paper.</subtitle>
  
<subtitle id="0:38:59">those labels on all of these guys and I  get a simulation</subtitle>
+
<subtitle id="0:34:53">Then he draws quickly, points to these two guys and say, "okay, become parallel". It figures out how to do that.</subtitle>
  
<subtitle id="0:39:2"> of a bridge without  sketchpad</subtitle>
+
<subtitle id="0:35:3">Now he's saying "be collinear", so lay yourself over these lines.</subtitle>
  
<subtitle id="0:39:5"> ever having heard about a  bridge and he realized</subtitle>
+
<subtitle id="0:35:11">Of course, this display on this machine only plotted points.</subtitle>
  
<subtitle id="0:39:8"> oh I can do that  with EMF also I can make</subtitle>
+
<subtitle id="0:35:15">About half the capacity of this machine, about here over there.</subtitle>
  
<subtitle id="0:39:11"> circuits and  the constraints will</subtitle>
+
<subtitle id="0:35:21">It was just to put these little dots up on the screen, and pretend it was a line drawing display.</subtitle>
  
<subtitle id="0:39:14"> actually drive all  of these simulations so</subtitle>
+
<subtitle id="0:35:28">Now, he's got a  hole in the flange.</subtitle>
  
<subtitle id="0:39:17"> in my career I  think</subtitle>
+
<subtitle id="0:35:34">And, he wants to make a rivet.</subtitle>
  
<subtitle id="0:39:20"> what I've been doing for the last  forty years is</subtitle>
+
<subtitle id="0:35:38">Got some more ink. Notice the two-handed user interface, as all user interfaces should be.</subtitle>
  
<subtitle id="0:39:23"> trying to get the next  version of sketch pad</subtitle>
+
<subtitle id="0:35:47">That is what the other hand is for.</subtitle>
  
<subtitle id="0:39:26"> out because if you  think about what this</subtitle>
+
<subtitle id="0:35:50">He pointed the center of the cross piece there to get the center of the arc. And again, let's do the mutually perpendicular trick,</subtitle>
  
<subtitle id="0:39:29"> thing is this is  kind of what we want we</subtitle>
+
<subtitle id="0:36:0">that drags the center guy, which drags the arc guys we got a nice little symmetric rivet.</subtitle>
  
<subtitle id="0:39:32"> want something  in which anything that we are</subtitle>
+
<subtitle id="0:36:8">And, he could tell it to be in some ratio.</subtitle>
  
<subtitle id="0:39:35"> interested  in especially</subtitle>
+
<subtitle id="0:36:12">The two sides of the vertical part of the rivet. Here, he's just showing it us that will do another solution.</subtitle>
  
<subtitle id="0:39:38"> dynamic things that were  interested in we</subtitle>
+
<subtitle id="0:36:21">now he's going to go back to the original form and show us one other interesting thing,</subtitle>
  
<subtitle id="0:39:41"> can simply draw them in  there</subtitle>
+
<subtitle id="0:36:32">which is he can make instances of this guy.</subtitle>
  
<subtitle id="0:39:44"> put in the relationships that we  understand</subtitle>
+
<subtitle id="0:36:41">They get an instance of the rivet here he can move it around. See, the success of sketchpad led to a desire for a better looking displays.</subtitle>
  
<subtitle id="0:39:47"> piece by piece and have the  system synthesize all</subtitle>
+
<subtitle id="0:36:56">Actually, those twinkling is.. they discovered right away that you got seasick unless they randomly plotted the dots.</subtitle>
  
<subtitle id="0:39:50"> this into a  dynamic simulation of astounding</subtitle>
+
<subtitle id="0:37:6">Every time something is being done in there, they are actually sorting half the memory of the machine to keep the dot display random.</subtitle>
  
<subtitle id="0:39:53"> range  so it's just beautiful</subtitle>
+
<subtitle id="0:37:14">it wouldn't swim around much more than it it is here.</subtitle>
  
<subtitle id="0:39:56"> if they're I  don't know whether our field</subtitle>
+
<subtitle id="0:37:20">He's got four instances now, and he says, "whoops, I forgot about the cross piece." So, it goes to the master, which we would call a class, makes the cross pieces transparent.</subtitle>
  
<subtitle id="0:39:59">Newton  yeah I</subtitle>
+
<subtitle id="0:37:32">And, we see the instances all feel that.</subtitle>
  
<subtitle id="0:40:2"> knew then</subtitle>
+
<subtitle id="0:37:40">Now, he's going to take this thing that he just made, and make it into a master.</subtitle>
  
<subtitle id="0:40:5"> I think it would have  to be ivan sutherland</subtitle>
+
<subtitle id="0:37:53">So, the new construction is a master. Now, he can get some instances of this flange here.</subtitle>
  
<subtitle id="0:40:8"> because the where</subtitle>
+
<subtitle id="0:38:01">The range of Sketchpad was surprising.</subtitle>
  
<subtitle id="0:40:11">the field was before I even came on the  scene and after it was fantastic</subtitle>
+
<subtitle id="0:38:6">By the end of 1962, he could not only do stuff like this, but he decided, okay, I need letters and numbers.</subtitle>
  
<subtitle id="0:40:14"> so I  want to ask Ivan</subtitle>
+
<subtitle id="0:38:17">so letters and numbers were actually made out of the Sketchpad stuff directly by drawing them in.</subtitle>
  
<subtitle id="0:40:17"> how could you possibly  in one</subtitle>
+
<subtitle id="0:38:24">So, all of the captions and all of his drawings in his thesis were made by the system as well.</subtitle>
  
<subtitle id="0:40:20"> year in machine code</subtitle>
+
<subtitle id="0:38:29">And then, he realized: "oh yeah, I can actually do a bridge."</subtitle>
  
<subtitle id="0:40:23"> on this big</subtitle>
+
<subtitle id="0:38:34">Because the bridge actually acts a little bit like a very stiff set of springs.</subtitle>
  
<subtitle id="0:40:26">  but rather slow machine with</subtitle>
+
<subtitle id="0:38:41">I can tell Sketchpad to try and keep these guys constant when something is trying to force them to move and I can measure the disparity,</subtitle>
  
<subtitle id="0:40:29"> no graphics  display on it have done</subtitle>
+
<subtitle id="0:38:53">the strain on each one of these guys and I actually can show those labels on all of these guys, and I get a simulation of a bridge without Sketchpad ever having heard about a bridge.</subtitle>
  
<subtitle id="0:40:32"> the first  graphics system the</subtitle>
+
<subtitle id="0:39:5">He realized: "oh, I can do that with EMF also."</subtitle>
  
<subtitle id="0:40:35"> first  object-oriented software system and the</subtitle>
+
<subtitle id="0:39:9">I can make circuits, and the constraints will actually drive all of these simulations.</subtitle>
  
<subtitle id="0:40:38">  first dynamic problem-solving system</subtitle>
+
<subtitle id="0:39:15">In my career, I think what I've been doing for the last forty years is trying to get the next version of Sketchpad out,</subtitle>
  
<subtitle id="0:40:41"> and  I even looked at me said well</subtitle>
+
<subtitle id="0:39:26">because if you think about what this thing is. This is kind of what we want.</subtitle>
  
<subtitle id="0:40:44"> I didn't  know it was hard</subtitle>
+
<subtitle id="0:39:30">We want something, in which anything that we are interested in, especially dynamic things that were interested in, we can simply draw them in there,</subtitle>
  
<subtitle id="0:40:47"> so the period by</subtitle>
+
<subtitle id="0:39:42">put in the relationships that we understand piece by piece, and have the system synthesize all this into a dynamic simulation of astounding range.</subtitle>
  
<subtitle id="0:40:50">way this thesis is available from MIT  should</subtitle>
+
<subtitle id="0:39:53">It's just beautiful. (If there are,) I don't know whether our field has Newton yet.  But if it has Newton, then I think it would have to be Ivan Sutherland, because the field was before Ivan came on the scene, and after it was fantastic.</subtitle>
  
<subtitle id="0:40:53"> get it and read it my favorite  line</subtitle>
+
<subtitle id="0:40:13">I went to ask Ivan how could you possibly, in one year, in machine code, on this big but rather slow machine with no graphics display on it, have done the first graphics system, the first object-oriented software system, and the first dynamic problem-solving system.</subtitle>
  
<subtitle id="0:40:56"> from it is he says that his hope  that future work will far surpass this</subtitle>
+
<subtitle id="0:40:40">Ivan looked at me and said: "Well, I didn't know it was hard."</subtitle>
  
<subtitle id="0:40:59">  effort</subtitle>
+
<subtitle id="0:40:47">(so the period) By the way this thesis is available from MIT - you should get it and read it.</subtitle>
  
<subtitle id="0:41:5">so</subtitle>
+
<subtitle id="0:40:53">My favorite line from it is, he says that his hope that future work will far surpass this effort.</subtitle>
  
<subtitle id="0:41:8"> that was my first day</subtitle>
+
<subtitle id="0:41:5">So, that was my first day in graduate school.</subtitle>
  
<subtitle id="0:41:11"> in graduate  school</subtitle>
+
== Imprinting of Good Ideas ==
  
 
<note for="0:41:14>
 
<note for="0:41:14>
<slide for="0:41:14" name="ARPAnet.png"/>
+
<slide for="0:41:14" name="OOPSLA2004-ARPAnet.png"/>
 
</note>
 
</note>
<subtitle id="0:41:14"> and second day I found out about</subtitle>
+
<subtitle id="0:41:13">Second day, I found out about that I was actually in the middle of the ARPA community, which I had no realization about.</subtitle>
  
<subtitle id="0:41:17">hat I was actually in the middle of the  ARPA community which I had no</subtitle>
+
<note for="0:41:21">
 +
J.C.R. Licklider was the first director of ARPA IPTO until 64 and succeeded by Robert Taylor.  The funding is credited to create various computer inventions, including the world wide network now known as the Internet.
 +
</note>
 +
<subtitle id="0:41:21">Licklider was not the funder in 1966: it was Bob Taylor. They were just starting to talk about doing what Licklider called the Intergalactic Network.</subtitle>
  
<subtitle id="0:41:20">  realization about and look</subtitle>
+
<subtitle id="0:41:35">The reason he called it that is he didn't want people to design a small network.</subtitle>
  
<subtitle id="0:41:23"> lighter was</subtitle>
+
<subtitle id="0:41:40">Those original theory was wherever electricity plug on the face of the earth, there should be a place where you can plug into this intergalactic network.</subtitle>
  
<subtitle id="0:41:26">  not the funder in 1966 it</subtitle>
+
<subtitle id="0:41:48">That meant that the thing had the scale at least up to 500 million to a billion users.</subtitle>
  
<subtitle id="0:41:29"> was Bob Taylor  and they</subtitle>
+
<note for="0:41:57">
 +
[https://en.wikipedia.org/wiki/Kristen_Nygaard] and [https://en.wikipedia.org/wiki/Ole-Johan_Dahl] on Wikipedia.
 +
</note>
 +
<subtitle id="0:41:57">So, people were starting to think about that. In a couple of days later I got a tape and some documents about a language called Simula from Norway by Dahl here and Nygaard.</subtitle>
  
<subtitle id="0:41:32"> were just starting to talk  about doing what Licklider called the</subtitle>
+
<subtitle id="0:42:14">It's very hard to understand.</subtitle>
  
<subtitle id="0:41:35">  intergalactic Network and the reason he  called it</subtitle>
+
<subtitle id="0:42:17">After a lot of work, and looking at the listings, we realize, well, this is a programming language that is dealing with the same kind of structures as Sketchpad.</subtitle>
  
<subtitle id="0:41:38"> that is he didn't want people  to design a small network</subtitle>
+
<subtitle id="0:42:27">By the way, I should mention that, you know, the name, the term object predates object-oriented programming.</subtitle>
  
<subtitle id="0:41:41"> those original  theory was wherever</subtitle>
+
<subtitle id="0:42:36">Object, in the early 60s, was a general term that was used to describe compound data structures, especially if they had pointers in them.</subtitle>
  
<subtitle id="0:41:44">electricity plug on the face of the  earth there should be</subtitle>
+
<subtitle id="0:42:44">There was none the paraphernalia of what we think about as object native programming today. Object was just a general term. You'll find it in lots of old papers.</subtitle>
  
<subtitle id="0:41:47">can plug into this into like  intergalactic</subtitle>
+
<subtitle id="0:42:55">And, the realization that you could write procedures for dealing with the kind of structures Sketchpad was doing was very liberating,</subtitle>
  
<subtitle id="0:41:50"> network that the thing had</subtitle>
+
<subtitle id="0:43:7">because even though it was ugly compared to what Sketchpad was, Sketchpad was just unbelievably elegant, but nobody knew how to scale the solver on it.</subtitle>
  
<subtitle id="0:41:53">  the scale at least up to 500 million</subtitle>
+
<subtitle id="0:43:16">In fact, that problem has not been solved today yet.</subtitle>
  
<subtitle id="0:41:56"> to  a billion users so</subtitle>
+
<subtitle id="0:43:20">But, by going to the less elegant way of being able to write code against these structures, we all got excited about the possibilities of being able to do in a system like Simula the kinds of graphic and interactive manipulation.</subtitle>
  
<subtitle id="0:41:59"> people were starting  to think about that</subtitle>
+
<subtitle id="0:43:40">My background coming into this was in molecular biology and mathematics.</subtitle>
  
<subtitle id="0:42:2"> in a couple of days  later I got</subtitle>
+
<subtitle id="0:43:48">And, particularly Sketchpad just hit me right here as one of these kernels.</subtitle>
  
<subtitle id="0:42:5"> a tape and some</subtitle>
+
<subtitle id="0:43:57">The thing I suddenly realized was that if you were sufficiently abstract if you ignored what these systems were trying to do,</subtitle>
  
<subtitle id="0:42:8"> documents  about a language called Simula from  Norway</subtitle>
+
<subtitle id="0:44:10">if you just thought of them as being cheap versions of all these little computers on the ARPANET,</subtitle>
  
<subtitle id="0:42:11"> by Dahl</subtitle>
+
<subtitle id="0:44:20">you could solve the same scaling problem in software.</subtitle>
  
<subtitle id="0:42:14"> here and Nygaard and</subtitle>
+
<subtitle id="0:44:25">Then, you could actually subsume everything in computing with just one kind of idea, which is essentially a little software computer:</subtitle>
  
<subtitle id="0:42:17"> it's  very hard to understand and after a lot  of</subtitle>
+
<subtitle id="0:44:33">Not a procedure, not a data structure, but a whole computer.</subtitle>
  
<subtitle id="0:42:20"> work and looking at the listings we  realize well this is a programming</subtitle>
+
<subtitle id="0:44:37">A lot of the development of OOP was software engineering after that.</subtitle>
  
<subtitle id="0:42:23">  language that is dealing with the same  kind</subtitle>
+
<subtitle id="0:44:45">Because the Interesting things to me in the development of OOP and development of practical OOP as it wound up in Xerox PARC was very similar to what happened in Lisp earlier, which is, boy, we've got this incredibly elegant wonderful thing.</subtitle>
  
<subtitle id="0:42:26"> of structures as sketchpad by</subtitle>
+
<subtitle id="0:45:1">Too bad it runs so slow. But, what if we could make it run faster in a way that doesn't get in the users way, then we would have something really, really nice.</subtitle>
  
<subtitle id="0:42:29"> the  way I should mention the you know the  name the</subtitle>
+
<note for="0:45:11">>
 
+
Guy Steele Jr. contributed to numerous programming languages, including Lisp [https://en.wikipedia.org/wiki/Guy_L._Steele_Jr].
<subtitle id="0:42:32"> term object predates</subtitle>
+
</note>
 
+
<subtitle id="0:45:11">Some of the best, actually I just talked Guy Steele, who is one of the people who helped make Lisp into something really special to use as well as to contemplate.</subtitle>
<subtitle id="0:42:35">  object-oriented programming object</subtitle>
 
 
 
<subtitle id="0:42:38"> in  the early 60s was a general term</subtitle>
 
 
 
<subtitle id="0:42:41">was used to describe compound data  structures especially</subtitle>
 
 
 
<subtitle id="0:42:44"> if they had  pointers in them there was none</subtitle>
 
 
 
<subtitle id="0:42:47">paraphernalia of what we think about as  object native</subtitle>
 
 
 
<subtitle id="0:42:50"> programming today object  was just a general</subtitle>
 
 
 
<subtitle id="0:42:53"> term you'll find it  lots of old papers</subtitle>
 
 
 
<subtitle id="0:42:56"> and the</subtitle>
 
 
 
<subtitle id="0:42:59"> realization  that you could write procedures</subtitle>
 
 
 
<subtitle id="0:43:2"> for  dealing with</subtitle>
 
 
 
<subtitle id="0:43:5">at sketchpad was doing was very  liberating because</subtitle>
 
 
 
<subtitle id="0:43:8"> even though it was  ugly compared</subtitle>
 
 
 
<subtitle id="0:43:11"> to what sketch patters  gets bad was just unbelievably elegant</subtitle>
 
 
 
<subtitle id="0:43:14">but nobody knew how to scale that's  Oliver</subtitle>
 
 
 
<subtitle id="0:43:17">  in fact that problem has not been solved</subtitle>
 
 
 
<subtitle id="0:43:20">  today yet but by</subtitle>
 
 
 
<subtitle id="0:43:23"> going to the less  elegant</subtitle>
 
 
 
<subtitle id="0:43:26"> way of being able to write code</subtitle>
 
 
 
<subtitle id="0:43:29">  against these structures we</subtitle>
 
 
 
<subtitle id="0:43:32"> all got  excited about the possibilities of being  able to do</subtitle>
 
 
 
<subtitle id="0:43:35"> in a system like Simula the</subtitle>
 
 
 
<subtitle id="0:43:38">kinds of graphic and interaction  manipulation and</subtitle>
 
 
 
<subtitle id="0:43:41"> my background coming  into this was</subtitle>
 
 
 
<subtitle id="0:43:44"> in molecular biology and</subtitle>
 
 
 
<subtitle id="0:43:47">  mathematics and</subtitle>
 
 
 
<subtitle id="0:43:50"> particularly sketchpad  just hit me</subtitle>
 
 
 
<subtitle id="0:43:53"> right here as one</subtitle>
 
 
 
<subtitle id="0:43:56"> of these  kernels and the</subtitle>
 
 
 
<subtitle id="0:43:59"> thing I suddenly  realized was that</subtitle>
 
 
 
<subtitle id="0:44:2"> if you were  sufficiently</subtitle>
 
 
 
<subtitle id="0:44:5"> abstract if you ignored  what</subtitle>
 
 
 
<subtitle id="0:44:8"> these systems were trying to do</subtitle>
 
 
 
<subtitle id="0:44:11"> if  you just thought of</subtitle>
 
 
 
<subtitle id="0:44:14"> them as being cheap</subtitle>
 
 
 
<subtitle id="0:44:17">versions of all these little computers  on the ARPANET</subtitle>
 
 
 
<subtitle id="0:44:20"> you could</subtitle>
 
 
 
<subtitle id="0:44:23"> solve the same  scaling problem in software</subtitle>
 
 
 
<subtitle id="0:44:26"> then you  could actually subsume</subtitle>
 
 
 
<subtitle id="0:44:29"> everything in  computing with just one kind of idea  which</subtitle>
 
 
 
<subtitle id="0:44:32"> is essentially a little software  computer</subtitle>
 
 
 
<subtitle id="0:44:35"> not a procedure not a data</subtitle>
 
 
 
<subtitle id="0:44:38">  structure but a whole computer a lot of  the development</subtitle>
 
 
 
<subtitle id="0:44:41"> of OOP was</subtitle>
 
 
 
<subtitle id="0:44:44"> software  engineering after that</subtitle>
 
 
 
<subtitle id="0:44:47">interesting things to me in the  development of</subtitle>
 
 
 
<subtitle id="0:44:50"> who the Elven of  practical as it wound up in spark</subtitle>
 
 
 
<subtitle id="0:44:53"> was  very similar to</subtitle>
 
 
 
<subtitle id="0:44:56"> what happened in Lisp  earlier which is boy</subtitle>
 
 
 
<subtitle id="0:44:59"> we've got this  incredibly elegant wonderful</subtitle>
 
 
 
<subtitle id="0:45:2"> thing too  bad it runs so slow</subtitle>
 
 
 
<subtitle id="0:45:5"> but what if we could  make it run</subtitle>
 
 
 
<subtitle id="0:45:8"> faster in a way that doesn't  get in the users</subtitle>
 
 
 
<subtitle id="0:45:11"> way then we would have  something really really nice and some</subtitle>
 
 
 
<subtitle id="0:45:14">the best actually I just talked the guy  Steele</subtitle>
 
 
 
<subtitle id="0:45:17"> who is one of the people who</subtitle>
 
 
 
<subtitle id="0:45:20">helped make Lisp into something really  special</subtitle>
 
 
 
<subtitle id="0:45:23"> to use as well as to contemplate</subtitle>
 
 
 
<subtitle id="0:45:26">  and so the image here was</subtitle>
 
 
 
<subtitle id="0:45:29"> WOW it's all  about mess  the</subtitle>
 
 
 
<subtitle id="0:45:32"> reasons about messages are not about  objects</subtitle>
 
  
<subtitle id="0:45:35"> so much is that the messages are  the abstractions</subtitle>
+
<subtitle id="0:45:25">So, the image here was, "wow it's all about messages."</subtitle>
  
<subtitle id="0:45:38"> we spend</subtitle>
+
<subtitle id="0:45:32">The reasons about messages and not about objects so much is that the messages are the abstractions.</subtitle>
  
<subtitle id="0:45:41">time in our field worrying about what  the objects are</subtitle>
+
<subtitle id="0:45:38">We spend far too much time in our field worrying about what the objects are.</subtitle>
  
<subtitle id="0:45:44"></subtitle>
+
== Influences ==
 
 
<subtitle id="0:45:47"> so</subtitle>
 
  
 
<note for="0:45:53">
 
<note for="0:45:53">
<slide for="0:45:53" name="Prejudices.png"/>
+
<slide for="0:45:53" name="OOPSLA2004-Prejudices.png"/>
 
</note>
 
</note>
<subtitle id="0:45:53">I need to move along a</subtitle>
+
<subtitle id="0:45:51">I need to move along.  I have a bazillion prejudices.</subtitle>
  
<subtitle id="0:45:56"> bazillion  prejudices  I</subtitle>
+
<subtitle id="0:45:58">I love parallelism because I learned how to program plug boards before programming a computer.</subtitle>
  
<subtitle id="0:45:59"> love parallelism because</subtitle>
+
<subtitle id="0:46:5">The beauty about those things was you could make a kind of a machine that was highly parallel.</subtitle>
  
<subtitle id="0:46:2"> I learned how to program plug  boards before</subtitle>
+
<note for="0:48:13">
 +
Burroughs computers are designed by Bob Barton, and designed for executing a higher-level language directly and safely. [https://en.wikipedia.org/wiki/Burroughs_large_systems]
 +
</note>
 +
<subtitle id="0:46:13">I love hardware like the B5000. All of our virtual machines today that we use came out of the hardware of that machine.</subtitle>
  
<subtitle id="0:46:5"> programming a computer and  the beauty</subtitle>
+
<subtitle id="0:46:22">Too bad Intel and Motorola have never saw fit to learn anything about software. It'd make our lives much simpler.</subtitle>
  
<subtitle id="0:46:8"> about those things was you  could make a kind</subtitle>
+
<subtitle id="0:46:32">I love Lisp. Everybody should understand it.</subtitle>
  
<subtitle id="0:46:11"> of a machine it was  highly parallel</subtitle>
+
<note for="0:46:38">
 +
A movie of JOSS is available here: [https://youtu.be/EeeEGheYAx8] and also the paper: [https://www.rand.org/content/dam/rand/pubs/papers/2008/P2922.pdf]
 +
</note>
 +
<subtitle id="0:46:38">JOSS was the most beautiful programming language ever done. It could hardly do anything but it did it beautifully.</subtitle>
  
<subtitle id="0:46:14"> I loved</subtitle>
+
<subtitle id="0:46:47">It's an interesting challenge to take something of this level of beauty and try to scale it.</subtitle>
  
<subtitle id="0:46:17"> hardware like  the B 5000 all of our</subtitle>
+
<subtitle id="0:46:53">You combine these two together, you got the original Logo that's how Logo came about:</subtitle>
  
<subtitle id="0:46:20">today that we use came out of the  hardware of</subtitle>
+
<subtitle id="0:46:58">An attempt to take Lisp and have something prettier, especially for kids.</subtitle>
  
<subtitle id="0:46:23"> that machine never</subtitle>
+
<subtitle id="0:47:4">I love APL. All of these all of these systems I think can be done in a different way.</subtitle>
  
<subtitle id="0:46:26"> saw fit  to learn anything about</subtitle>
+
<subtitle id="0:47:12">But basically the love of these things is because these guys got to some special kernel.</subtitle>
  
<subtitle id="0:46:29"> software make  our</subtitle>
+
<subtitle id="0:47:16">I love what Engelbart did. A lot of spreadsheets. I loved HyperCard.</subtitle>
  
<subtitle id="0:46:32"> lives much simpler  I love</subtitle>
+
<subtitle id="0:47:21">Suppose you could amalgamate all these wonderful things into a simple system that regular people can use.</subtitle>
  
<subtitle id="0:46:35"> Lisp everybody should understand</subtitle>
+
<note for="0:47:31">
 
+
<slide for="0:47:31" name="OOPSLA2004-Exploratorium.png"/>
<subtitle id="0:46:38">  it the giass was</subtitle>
+
Exploratorium is a museum located in San Francisco, where visitors can try hands-on exhibits.  Frank Oppenheimer is the founder.
 
+
</note>
<subtitle id="0:46:41">programming language ever done it could  hardly do anything but</subtitle>
+
<subtitle id="0:47:31">Now, let's talk about the why of what we're doing.</subtitle>
 
 
<subtitle id="0:46:44"> it did it  beautifully</subtitle>
 
 
 
<subtitle id="0:46:47"> so</subtitle>
 
 
 
<subtitle id="0:46:50"> it's an interesting  challenge to take something of this  level</subtitle>
 
 
 
<subtitle id="0:46:53"> of beauty and try to scale it you  combine these</subtitle>
 
 
 
<subtitle id="0:46:56"> two together you got the  original logo that's how logo came</subtitle>
 
 
 
<subtitle id="0:46:59"> about  attempt to take Lisp and</subtitle>
 
 
 
<subtitle id="0:47:2"> have something  prettier especially for kids</subtitle>
 
 
 
<subtitle id="0:47:5">  I love APL all</subtitle>
 
  
<subtitle id="0:47:8"> of these all of these  systems I think can be done in</subtitle>
+
<subtitle id="0:47:39">Why do people do things? Well, Frank Oppenheimer in the Exploratorium made 500 exhibits to teach just one idea:</subtitle>
  
<subtitle id="0:47:11"> a  different way but basically</subtitle>
+
<subtitle id="0:47:48">The world is not as it seems.</subtitle>
  
<subtitle id="0:47:14"> the love of  these things is because these guys</subtitle>
+
<subtitle id="0:47:50">They asked him why, and he said: "well, every child is different. We have 2,000 children in here, bumping against 500 different exhibits.</subtitle>
  
<subtitle id="0:47:17"> got  to some special kernel I love what  Engelbart</subtitle>
+
<subtitle id="0:47:58">"There's a good chance that a child will find the exhibit that speaks to them clearly about this first important idea about science.</subtitle>
  
<subtitle id="0:47:20"> did a lot of spreadsheets I  loved HyperCard</subtitle>
+
<subtitle id="0:48:8">So he said 500 of them. I think if you're going to teach a course in this, you need 20 to 30 projects or so for each area to give the children the choice.</subtitle>
 
+
<note for="048:35">
<subtitle id="0:47:23"> suppose you could  amalgamate</subtitle>
+
Even before you can hear it in this movie, the chat by backstage personnels was becoming audible.
 
 
<subtitle id="0:47:26"> all these wonderful things  into</subtitle>
 
 
 
<subtitle id="0:47:29"> a simple system that regular people  can</subtitle>
 
 
 
<note for="0:47:32">
 
<slide for="0:47:32" name="Exploratorium.png"/>
 
 
</note>
 
</note>
<subtitle id="0:47:32"> use and now let's talk about the</subtitle>
+
<subtitle id="0:48:35">(Excuse me, am I interfering your conversation back here?)
  
<subtitle id="0:47:35"> the  why of</subtitle>
+
<subtitle id="0:48:50">I won't tell you what quadrant they're in.</subtitle>
 
 
<subtitle id="0:47:38"> what we're doing why do people</subtitle>
 
 
 
<subtitle id="0:47:41"> do  things well Frank Oppenheimer in the</subtitle>
 
 
 
<subtitle id="0:47:44">  Exploratorium</subtitle>
 
 
 
<subtitle id="0:47:47"> made 500 exhibits to teach  just one idea the world</subtitle>
 
 
 
<subtitle id="0:47:50"> is not as it  seems they asked him</subtitle>
 
 
 
<subtitle id="0:47:53"> why and he said  well every child is different we</subtitle>
 
 
 
<subtitle id="0:47:56"> have  2,000 children in here bumping against  500</subtitle>
 
 
 
<subtitle id="0:47:59"> different exhibits there's a good  chance that a child</subtitle>
 
 
 
<subtitle id="0:48:2"> will find the  exhibit that speaks</subtitle>
 
 
 
<subtitle id="0:48:5"> to them  clearly about this first important</subtitle>
 
 
 
<subtitle id="0:48:8">about science  so he</subtitle>
 
 
 
<subtitle id="0:48:11"> said 500 of them and I think if  you're going to teach a course in this</subtitle>
 
 
 
<subtitle id="0:48:14">  you need</subtitle>
 
 
 
<subtitle id="0:48:17"> you need</subtitle>
 
 
 
<subtitle id="0:48:20"> 20 to 30 projects or</subtitle>
 
 
 
<subtitle id="0:48:23">  so for each area to give the</subtitle>
 
 
 
<subtitle id="0:48:26"> children  the choice</subtitle>
 
 
 
<subtitle id="0:48:29"></subtitle>
 
 
 
<subtitle id="0:48:32"></subtitle>
 
 
 
<subtitle id="0:48:35"></subtitle>
 
 
 
<subtitle id="0:48:38"> I</subtitle>
 
 
 
<subtitle id="0:48:41"></subtitle>
 
 
 
<subtitle id="0:48:44"></subtitle>
 
 
 
<subtitle id="0:48:47"></subtitle>
 
 
 
<subtitle id="0:48:50"> won't</subtitle>
 
 
 
<subtitle id="0:48:53"> tell you what  quadrant they're in</subtitle>
 
 
 
<subtitle id="0:48:56"> so</subtitle>
 
  
 
<note for="0:48:59">
 
<note for="0:48:59">
<slide for="0:48:59" name="Model T Scratch.png"/>
+
<slide for="0:48:59" name="OOPSLA2004-Model T Scratch.png"/>
 +
Alan mentioned that the farm he grew up had one and that was kept operational by fixing it by themselves.
 
</note>
 
</note>
<subtitle id="0:48:59"> I think the  another important</subtitle>
+
<subtitle id="0:48:57">I think the another important idea is scratch programming, because so much of computing education today is learning the library.</subtitle>
  
<subtitle id="0:49:2"> idea is scratch  programming because</subtitle>
+
<subtitle id="0:49:8">I don't think beginners should ever be shown the library. If the programming language can't do interesting things without the library, then what is it?</subtitle>
  
<subtitle id="0:49:5"> so much of computing  education</subtitle>
+
<subtitle id="0:49:20">I think it should be like a Model T. Model T has about 350 parts, and you could take it apart over a weekend and put it back together.</subtitle>
  
<subtitle id="0:49:8"> today is learning the library  and</subtitle>
+
<subtitle id="0:49:31">But it was a completely real automobile.</subtitle>
  
<subtitle id="0:49:11"> I don't think beginners should ever  be shown the library</subtitle>
+
<subtitle id="0:49:35">A lot of what we're going to look at here in the next few minutes are sort of first-order ideas that might say some important things.</subtitle>
  
<subtitle id="0:49:14"> the programming  language can't do interesting</subtitle>
+
<note for="0:49:44">
 
+
<slide for="0:49:44" name="OOPSLA2004-influences.png"/>
<subtitle id="0:49:17"> things  without the library then what is it</subtitle>
 
 
 
<subtitle id="0:49:20"> so I  think</subtitle>
 
 
 
<subtitle id="0:49:23"> it should be like a Model T Model  T has</subtitle>
 
 
 
<subtitle id="0:49:26"> about 350 parts and you could</subtitle>
 
 
 
<subtitle id="0:49:29"> take  it apart over a weekend and put it back  together</subtitle>
 
 
 
<subtitle id="0:49:32"> but it was a completely real  automobile</subtitle>
 
 
 
<subtitle id="0:49:35"> so a lot of what we're gonna</subtitle>
 
 
 
<note for="0:49:38">
 
<slide for="0:49:38" name="influences.png"/>
 
 
</note>
 
</note>
<subtitle id="0:49:38">  look at here in the next few minutes are</subtitle>
+
<subtitle id="0:49:44">Now, a good thing is that many people have written about the fun, the beauty, the romance, what's important, and about looking ahead in computing.</subtitle>
 
 
<subtitle id="0:49:41">  sort of first-order ideas that might</subtitle>
 
 
 
<subtitle id="0:49:44"> say  some important things now a</subtitle>
 
 
 
<subtitle id="0:49:47"> good thing  is that many people have</subtitle>
 
 
 
<subtitle id="0:49:50"> written about  the</subtitle>
 
 
 
<subtitle id="0:49:53"> fun the beauty the romance what's  important</subtitle>
 
 
 
<subtitle id="0:49:56"> and about looking ahead in  computing</subtitle>
 
 
 
<subtitle id="0:49:59"> there's not just one book out  there</subtitle>
 
 
 
<subtitle id="0:50:2"> and there's less than 1% of</subtitle>
 
 
 
<subtitle id="0:50:5">books about computing or worthwhile  reading</subtitle>
 
  
<subtitle id="0:50:8"> but it's not one book there are  dozens</subtitle>
+
<subtitle id="0:49:58">There's not just one book out there, and there's less than 1% of books about computing are worthwhile reading.</subtitle>
  
<subtitle id="0:50:11"> of them and so there's plenty of  ideas</subtitle>
+
<subtitle id="0:50:7">But, it's not one book. There are dozens of them, and there's plenty of ideas for how to do this stuff.</subtitle>
  
<subtitle id="0:50:14"> for how to do this stuff</subtitle>
+
== A Learning Environment: Control or Learning? ==
  
<note for="0:50:17">
+
<note for="0:50:16">
<slide for="0:50:17" name="ControlvLearning C.png"/>
+
<slide for="0:50:16" name="OOPSLA2004-ControlvLearning C.png"/>
 
</note>
 
</note>
<subtitle id="0:50:17">  the user interface had better not be</subtitle>
+
<subtitle id="0:50:16">The user interface had better not be like Microsoft's caricature of the stuff that was done at PARC, (which is..,) I always have the feeling when I'm using Windows that I'm dealing with a somewhat dangerous nuclear reactor control panel,</subtitle>
 
 
<subtitle id="0:50:20">  like Microsoft's</subtitle>
 
 
 
<subtitle id="0:50:23"> caricature of the stuff</subtitle>
 
 
 
<subtitle id="0:50:26">  that was done at Parc which is I always</subtitle>
 
 
 
<subtitle id="0:50:29">have the feeling when I'm using Windows  that I'm</subtitle>
 
 
 
<subtitle id="0:50:32"> dealing with a somewhat  dangerous nuclear</subtitle>
 
 
 
<subtitle id="0:50:35"> reactor control panel</subtitle>
 
 
 
<subtitle id="0:50:38">  and that I haven't had enough training</subtitle>
 
  
<subtitle id="0:50:41">  on it whereas what I want is something  like</subtitle>
+
<subtitle id="0:50:38">and that I haven't had enough training on it.</subtitle>
  
<subtitle id="0:50:44"> pencil and paper where although  there are things I can learn</subtitle>
+
<subtitle id="0:50:40">Whereas what I want is something like pencil and paper. Although there are things I can learn about pencil and paper, what is most important about them is what I can do without knowing much.</subtitle>
  
<subtitle id="0:50:47"> about  pencil and paper what I what is most  important</subtitle>
+
<subtitle id="0:50:51">I can find out the pencil and paper is fun.</subtitle>
  
<subtitle id="0:50:50"> about them is what I can do  without knowing much so</subtitle>
+
== Flow, explained ==
  
<subtitle id="0:50:53"> I can find out  the pencil and paper is fun</subtitle>
 
 
<note for="0:50:56">
 
<note for="0:50:56">
<slide for="0:52:05" name="FLOW.png"/>
+
<slide for="0:50:56" name="OOPSLA2004-FLOW.png"/>
<slide for="0:52:17" name="FLOW2.png"/>
+
<slide for="0:52:04" name="OOPSLA2004-FLOW2.png"/>
<slide for="0:52:26" name="FLOW3.png"/>
+
<slide for="0:52:15" name="OOPSLA2004-FLOW3.png"/>
<slide for="0:52:29" name="FLOW4.png"/>
+
<slide for="0:52:24" name="OOPSLA2004-FLOW4.png"/>
<slide for="0:52:35" name="FLOW5.png"/>
+
<slide for="0:52:32" name="OOPSLA2004-FLOW5.png"/>
 +
There is a book by Csikszentmihalyi titled "Flow" [https://en.wikipedia.org/wiki/Mihaly_Csikszentmihalyi]
 
</note>
 
</note>
<subtitle id="0:50:56"> and I want  an environment that</subtitle>
+
<subtitle id="0:50:56">I want an environment that deals with a set of ideas in a way that gets me to lose myself in the ideas.</subtitle>
  
<subtitle id="0:50:59"> deals with a</subtitle>
+
<subtitle id="0:51:10">Mike Csikszentmihalyi here, was one of our advisors, had this nice model about this balance between our abilities and the challenges.</subtitle>
  
<subtitle id="0:51:2"> set of  ideas in</subtitle>
+
<subtitle id="0:51:24">He said, well, if the challenges are higher than our abilities then we start getting anxious, especially if we're climbing up a rock face, or giving a talk in front of an audience.</subtitle>
  
<subtitle id="0:51:5"> a way that</subtitle>
+
<subtitle id="0:51:41">But, if our abilities are greater than the challenge, we start getting bored.</subtitle>
  
<subtitle id="0:51:8"> gets me to lose  myself in</subtitle>
+
<subtitle id="0:51:46">So, these are the two main states that humans are in: either anxious or bored.</subtitle>
  
<subtitle id="0:51:11"> the ideas so my chick sandy hi</subtitle>
+
<subtitle id="0:51:53">Hard to get to is this flow state where everything is just working.</subtitle>
  
<subtitle id="0:51:14">  here was one of our advisors had this  nice</subtitle>
+
<subtitle id="0:52:00">We like to widen this flow state for beginners.</subtitle>
  
<subtitle id="0:51:17"> model about this</subtitle>
+
<subtitle id="0:52:4">For example, one of the things we could do to deal with areas that where the challenge is greater than our abilities is to increase the safety.</subtitle>
  
<subtitle id="0:51:20"> balance between  our</subtitle>
+
<subtitle id="0:52:15">So, having undo in an environment is nice.</subtitle>
  
<subtitle id="0:51:23"> abilities and the challenges and</subtitle>
+
<subtitle id="0:52:21">Most programming environments don't have much of an undo.</subtitle>
  
<subtitle id="0:51:26"> he  said well if the challenges are higher</subtitle>
+
<subtitle id="0:52:24">On the other hand, because we get bored so easily, we want something to help us to pay attention better.</subtitle>
  
<subtitle id="0:51:29">  than our abilities then we start getting  anxious</subtitle>
+
<subtitle id="0:52:32">A good user interface basically deals with these things.</subtitle>
  
<subtitle id="0:51:32"> especially</subtitle>
+
<subtitle id="0:52:35">it provides more safety than most computer people think an ordinary person needs.</subtitle>
  
<subtitle id="0:51:35"> if we're climbing up  a rock face</subtitle>
+
<subtitle id="0:52:40">It provides more ways of attracting their attention than most of us think people need.</subtitle>
  
<subtitle id="0:51:38"> we're giving a talk in front  of an audience</subtitle>
+
== Introduction to Drive a Car ==
  
<subtitle id="0:51:41">  but if our abilities are greater</subtitle>
+
<note for="0:52:50">
 
 
<subtitle id="0:51:44"> than  the challenge we start getting bored</subtitle>
 
 
 
<subtitle id="0:51:47"> so  these are the two main states that  humans</subtitle>
 
 
 
<subtitle id="0:51:50"> are in either anxious or bored</subtitle>
 
 
 
<subtitle id="0:51:53">hard-to-get-to</subtitle>
 
 
 
<subtitle id="0:51:56"> is this flow state where  everything</subtitle>
 
 
 
<subtitle id="0:51:59"> is just working and</subtitle>
 
 
 
<subtitle id="0:52:2"> we like  to widen this flow State for a beginners</subtitle>
 
 
 
<subtitle id="0:52:5">  so for example</subtitle>
 
 
 
<subtitle id="0:52:8"> one of the things we  could do to deal</subtitle>
 
 
 
<subtitle id="0:52:11"> with areas that where  the challenge is greater than</subtitle>
 
 
 
<subtitle id="0:52:14"> our  abilities is to increase the safety</subtitle>
 
 
 
<subtitle id="0:52:17">  so having undo an environment</subtitle>
 
 
 
<subtitle id="0:52:20">nice  most</subtitle>
 
 
 
<subtitle id="0:52:23"> programming environments don't have  much of an undo</subtitle>
 
 
 
<subtitle id="0:52:26"> and on the other hand  what because we get bored</subtitle>
 
 
 
<subtitle id="0:52:29"> so easily we  want something to help us pay attention</subtitle>
 
 
 
<subtitle id="0:52:32">  better and a good user interface</subtitle>
 
 
 
<subtitle id="0:52:35">basically deals with these things it  provides more safety</subtitle>
 
 
 
<subtitle id="0:52:38"> than most computer  people think an</subtitle>
 
 
 
<subtitle id="0:52:41"> ordinary person needs  and it provides more ways of attracting</subtitle>
 
 
 
<subtitle id="0:52:44">  their attention than most of us</subtitle>
 
 
 
<subtitle id="0:52:47"> think  people need</subtitle>
 
 
 
<subtitle id="0:52:50"> so I just</subtitle>
 
 
 
<subtitle id="0:52:53"> want to show you a</subtitle>
 
 
 
<note for="0:52:56">
 
 
Alan is drawing a car, explain the viewer and some tiles.
 
Alan is drawing a car, explain the viewer and some tiles.
 +
There are movies of a typical Squeak Etoys demo available elsewhere.
 
</note>
 
</note>
<subtitle id="0:52:56">  give you a little bit of a flavor about</subtitle>
+
<subtitle id="0:52:50">I just want to show you, give you, a little bit of a flavor about how children start, and then show you where I think things are actually going to go.</subtitle>
 
 
<subtitle id="0:52:59">  how children start</subtitle>
 
 
 
<subtitle id="0:53:2"> and then show you  where I think things are</subtitle>
 
 
 
<subtitle id="0:53:5"> actually going  to go so the work</subtitle>
 
 
 
<subtitle id="0:53:8"> we do with children we</subtitle>
 
 
 
<subtitle id="0:53:11">want</subtitle>
 
 
 
<subtitle id="0:53:14"> them to have an experience that is</subtitle>
 
 
 
<subtitle id="0:53:17">  basically thinking</subtitle>
 
 
 
<subtitle id="0:53:20"> about ideas making  pictures of</subtitle>
 
 
 
<subtitle id="0:53:23"> them so for example take</subtitle>
 
 
 
<subtitle id="0:53:26">  something that most kids would like to  do for</subtitle>
 
 
 
<subtitle id="0:53:29"> one reason or another which is to</subtitle>
 
 
 
<subtitle id="0:53:32">learn</subtitle>
 
 
 
<subtitle id="0:53:35"> how to drive their parents car</subtitle>
 
 
 
<subtitle id="0:53:38"> we  get them to design a car and</subtitle>
 
 
 
<subtitle id="0:53:41"> most kids</subtitle>
 
 
 
<subtitle id="0:53:44">  boys and girls put on big off-road</subtitle>
 
 
 
<subtitle id="0:53:47"> tires  like this because</subtitle>
 
 
 
<subtitle id="0:53:50"> part of the deal is  feeling powerless and</subtitle>
 
 
 
<subtitle id="0:53:53"> wanting to feel  empowered this is something that video</subtitle>
 
 
 
<subtitle id="0:53:56">  game manufacturers really understand</subtitle>
 
 
 
<subtitle id="0:53:59"> why  are those games so violent</subtitle>
 
 
 
<subtitle id="0:54:5">and so</subtitle>
 
 
 
<subtitle id="0:54:8"> we have a little graphic object  here and</subtitle>
 
 
 
<subtitle id="0:54:11"> do things</subtitle>
 
 
 
 
 
<subtitle id="0:54:14"> to it we can open it  up and</subtitle>
 
 
 
<subtitle id="0:54:17"> see</subtitle>
 
 
 
 
 
<subtitle id="0:54:20"> a viewer of it I</subtitle>
 
 
 
<subtitle id="0:54:23">people in the back can't see very well  so I'm looking</subtitle>
 
  
<subtitle id="0:54:26"> at a property here called  the heading of the thing and I'm gonna  count</subtitle>
+
<subtitle id="0:53:5">The work we do with children, we want them to have an experience that is basically thinking about ideas, making pictures of them.</subtitle>
  
<subtitle id="0:54:29"> up the number starts at zero and  as</subtitle>
+
<subtitle id="0:53:22">For example, take something that most kids would like to do for one reason or another, which is to learn how to drive their parents car.</subtitle>
  
<subtitle id="0:54:32"> I count it up you can see the little  car turning I've</subtitle>
+
<subtitle id="0:53:36">We get them to design a car. Most kids, boys and girls, put on big off-road tires like this, because part of the deal is feeling powerless, and wanting to feel empowered.</subtitle>
  
<subtitle id="0:54:35"> got a behavioral  property here forward</subtitle>
+
<subtitle id="0:53:52">This is something that video game manufacturers really understand.</subtitle>
  
<subtitle id="0:54:38"> I've got a</subtitle>
+
<subtitle id="0:53:58">Why are those games so violent?</subtitle>
  
<subtitle id="0:54:41"> another  one called turn by and so</subtitle>
+
<subtitle id="0:54:6">We have a little graphic object here, and to do things to it, we can open it up and see a viewer of it.</subtitle>
  
<subtitle id="0:54:44"> if I just drag  out the</subtitle>
+
<subtitle id="0:54:20">I realize people in the back can't see very well. So I'm looking at a property here called the heading of the thing, and I'm going to count up the number starts at zero.</subtitle>
  
<subtitle id="0:54:47"> lines</subtitle>
+
<subtitle id="0:54:29">As I count it up, you can see the little car turning. </subtitle>
  
<subtitle id="0:54:50"> of script here and turn on  the</subtitle>
+
<subtitle id="0:54:32">I've got a behavioral property here: "forward."</subtitle>
  
<subtitle id="0:54:53"> clock</subtitle>
+
<subtitle id="0:54:36">I've got another one called "turn by".</subtitle>
  
<subtitle id="0:54:56"> then I've got my little car  going there</subtitle>
+
<subtitle id="0:54:41">If I just drag out the lines of script here and turn on the clock, then I've got my little car going.</subtitle>
  
<subtitle id="0:54:59"> are many different kinds of  things</subtitle>
+
<subtitle id="0:54:57">There are many different kinds of things I can do with it. For the kids they want to learn a little bit about driving the car.</subtitle>
  
<subtitle id="0:55:2"> I can do with it  for the kids they want to learn a little</subtitle>
+
<subtitle id="0:55:07">So, the first experiment is what happens if I click this number. It says "turn by". Now, "turn by zero". It goes straight. Turn by negative. </subtitle>
  
<subtitle id="0:55:5">  bit about</subtitle>
+
<subtitle id="0:55:19">I'll call this guy "Car".</subtitle>
  
<subtitle id="0:55:8"> driving the car so the first  experiment is</subtitle>
+
<subtitle id="0:55:20">Keep it straight here. That's a little bit like kissing your sister, because real cars use wheels.</subtitle>
  
<subtitle id="0:55:11"> what happens if I click  this number it says turn by</subtitle>
+
<subtitle id="0:55:28">So I want to make a wheel here. Just draw one.</subtitle>
  
<subtitle id="0:55:14"> now turn by  zero</subtitle>
+
<subtitle id="0:55:39">It's got the same user interface as the other one, because this is a system, which has only one kind of object.</subtitle>
  
<subtitle id="0:55:17"> it goes straight turn by negative</subtitle>
+
<subtitle id="0:55:49">It's exactly the opposite of the systems that you're used to that have zillions and zillions of classes and subclasses and so forth.</subtitle>
  
<subtitle id="0:55:20">  I'll call this guy car keep</subtitle>
+
<subtitle id="0:55:58">We can talk a little bit about it, about this in the question and answer, if you would like.</subtitle>
  
<subtitle id="0:55:23"> it straight  here that's a little bit like</subtitle>
+
<subtitle id="0:56:5">And, so here's this wheel it's got a heading also. If I pick up the name of that heading and just drag it over to the script here.</subtitle>
  
<subtitle id="0:55:26"> kissing  your sister so because real</subtitle>
+
<subtitle id="0:56:14">So it says "car turned by wheel's heading." Now I can just turn the car around.</subtitle>
  
<subtitle id="0:55:29"> cars use  wheels so I want to make a wheel here</subtitle>
+
<subtitle id="0:56:20">Now, what's important for ten-year olds is that they learn what a variable is for the rest of their life from this one shot.</subtitle>
  
<subtitle id="0:55:35">just draw</subtitle>
+
<subtitle id="0:56:28">That's good, and actually I believe this would be good for high school and college kids, too, because there's quite a bit of evidence that they don't ever learn much about what a variable actually is, or does ways of thinking about it.</subtitle>
  
<subtitle id="0:55:38"> one</subtitle>
+
<subtitle id="0:56:43">So there are many different kinds of things here that can be done.</subtitle>
  
<subtitle id="0:55:41"> it's got the same user</subtitle>
+
== Safe Meta Features in Etoys ==  
 
 
<subtitle id="0:55:44">  interface as the other one</subtitle>
 
 
 
<subtitle id="0:55:47">is a system which is only one kind of  object</subtitle>
 
 
 
<subtitle id="0:55:50"> so it's exactly the opposite</subtitle>
 
 
 
<subtitle id="0:55:53"> of  the systems that you're used to that  have zillions</subtitle>
 
 
 
<subtitle id="0:55:56"> and zillions of classes  and subclasses and and</subtitle>
 
 
 
<subtitle id="0:55:59"> so forth and we  can talk a little</subtitle>
 
 
 
<subtitle id="0:56:2"> bit about it about  this in the question and answer system  if you</subtitle>
 
 
 
<subtitle id="0:56:5"> would like and so here's this  wheel it's</subtitle>
 
 
 
<subtitle id="0:56:8"> got a heading also and if</subtitle>
 
 
 
<subtitle id="0:56:11">pick up the name of that heading and  just drag it over to the script</subtitle>
 
 
 
<subtitle id="0:56:14"> here so  it says car turned</subtitle>
 
 
 
<subtitle id="0:56:17"> by wheels heading now  I can just turn</subtitle>
 
 
 
<subtitle id="0:56:20"> the car around now  what's</subtitle>
 
 
 
<subtitle id="0:56:23"> important for ten-year olds that  they is that</subtitle>
 
 
 
<subtitle id="0:56:26"> they learn what a variable  is for the rest of their life from this  one shot</subtitle>
 
 
 
<subtitle id="0:56:29"> that's good and actually I  believe this</subtitle>
 
 
 
<subtitle id="0:56:32"> would be good for high  school and college kids too because  there's</subtitle>
 
 
 
<subtitle id="0:56:35"> quite a bit of evidence that  they they don't ever learn</subtitle>
 
 
 
<subtitle id="0:56:38"> much about  what a variable actually</subtitle>
 
 
 
<subtitle id="0:56:41"> is or does ways  of</subtitle>
 
 
 
<subtitle id="0:56:44"> thinking about it so there are many  different kinds of things here that</subtitle>
 
 
 
<subtitle id="0:56:47"> can  be done so having</subtitle>
 
  
 
<note for="0:56:50">
 
<note for="0:56:50">
 
Open a viewer on the scriptor and rotate them.
 
Open a viewer on the scriptor and rotate them.
 
</note>
 
</note>
<subtitle id="0:56:50"> one kind of object  that's kind of weird I</subtitle>
+
<subtitle id="0:56:47">So, having one kind of object. That's kind of weird.</subtitle>
  
<subtitle id="0:56:53"> mean here's a a</subtitle>
+
<subtitle id="0:56:53">I mean, here's a photograph which we can see has the same kind of feel here.</subtitle>
  
<subtitle id="0:56:56">  photograph which we can see has</subtitle>
+
<subtitle id="0:57:0">The script is one of these guys. What if I open up its viewer. I got one called scriptor here, and I see, "oh yeah" it looks really the same kind of thing.</subtitle>
  
<subtitle id="0:56:59"> the same  kind of feel here the</subtitle>
+
<subtitle id="0:57:11">So what if I make a script on the script here, and get it going.</subtitle>
  
<subtitle id="0:57:2"> script is one of  these guys what if I open up its viewer</subtitle>
+
<subtitle id="0:57:21">Think about the implications of this: it means that wherever I go out, for instance, what if I go over here.</subtitle>
  
<subtitle id="0:57:5">got</subtitle>
+
<note for="0:57:30">
 
 
<subtitle id="0:57:8"> one called scripture here and I see</subtitle>
 
 
 
<subtitle id="0:57:11">y'all look really the same kind of thing  so what</subtitle>
 
 
 
<subtitle id="0:57:14"> if I make a script on the script  here</subtitle>
 
 
 
<subtitle id="0:57:17"> and get</subtitle>
 
 
 
<subtitle id="0:57:23">so I think about the implications of  this</subtitle>
 
 
 
<subtitle id="0:57:26"> means that wherever I go out</subtitle>
 
 
 
<subtitle id="0:57:29"> for  instance what if I go over here well</subtitle>
 
 
 
 
 
<note for="0:57:32">
 
 
Open a viewer on the pane in viewer and rotate them.
 
Open a viewer on the pane in viewer and rotate them.
 
</note>
 
</note>
<subtitle id="0:57:32"> the  viewers got one of those things and so</subtitle>
+
<subtitle id="0:57:30">Well, the viewers got one of those things and so does this category.</subtitle>
  
<subtitle id="0:57:35">  does this category so</subtitle>
+
<note for="0:57:38">
 
 
<subtitle id="0:57:38"> and</subtitle>
 
 
 
<note for="0:57:41">
 
 
Open a viewer on the world, and show different panes.
 
Open a viewer on the world, and show different panes.
 
</note>
 
</note>
<subtitle id="0:57:41"> this whole  outside</subtitle>
+
<subtitle id="0:57:38">And, this whole outside thing that I'm giving the talk in terms of is also one of these things.</subtitle>
  
<subtitle id="0:57:44"> thing that I'm giving</subtitle>
+
<subtitle id="0:57:48">So I look at its viewer, the viewer of the world, and well, it's got the same kinds of things here.</subtitle>
  
<subtitle id="0:57:47"> the talk  in terms of is also</subtitle>
+
<note for="0:57:58">
 
+
Nathanael Schärli et al. developed a behavior composition scheme called Traits: [https://digitalcommons.ohsu.edu/csetech/345/].  The main work was done when Nathanael was interning at Alan's group at Disney Walt Imagineering R&D. The scheme was later adapted to various languages.
<subtitle id="0:57:50"> one of these things  so I look at its viewer the viewer of  the world</subtitle>
+
</note>
 
+
<subtitle id="0:57:58">We looked at the various traits here. This is like what Nathanael Schärli was talking about earlier.</subtitle>
<subtitle id="0:57:53"> and</subtitle>
 
 
 
<subtitle id="0:57:56"> well it's got the same  kinds</subtitle>
 
 
 
<subtitle id="0:57:59"> of things here we looked at the  various traits</subtitle>
 
 
 
<subtitle id="0:58:2"> here this is like what  Nathaniel Charlie was talking about</subtitle>
 
 
 
<subtitle id="0:58:5">  earlier this notion of</subtitle>
 
 
 
<subtitle id="0:58:8"> sideways  composition also goes back to park</subtitle>
 
 
 
<subtitle id="0:58:11"> back  back then in the 70s was called aspects</subtitle>
 
 
 
<subtitle id="0:58:14">  but that word means something somewhat  different</subtitle>
 
 
 
<subtitle id="0:58:17"> now so we</subtitle>
 
 
 
<subtitle id="0:58:20">various things you can see oh the thing  is a collection</subtitle>
 
 
 
<subtitle id="0:58:23"> it's got stuff about</subtitle>
 
 
 
<subtitle id="0:58:26"> its  colors and borders and other</subtitle>
 
 
 
<subtitle id="0:58:29"> kinds of  things here and what</subtitle>
 
 
 
<subtitle id="0:58:32"> here's one that  says as object now an</subtitle>
 
 
 
<subtitle id="0:58:35"> inheritance system  the object would be way up at</subtitle>
 
 
 
<subtitle id="0:58:38"> the end of  the inheritance system but in a sideways  composition</subtitle>
 
 
 
<subtitle id="0:58:41"> object system it's going to  be</subtitle>
 
 
 
<subtitle id="0:58:44"> one of the traits we're looking at  it's a view of the object</subtitle>
 
  
<subtitle id="0:58:47"> as an object  and we tried to think</subtitle>
+
<subtitle id="0:58:4">This notion of side-ways composition also goes back to PARC. Back then in the 70s, it was called aspects but that word means something somewhat different now.</subtitle>
  
<subtitle id="0:58:50"> about what would  be an interesting way of showing</subtitle>
+
<subtitle id="0:58:17">We look at various things you can see: "Oh, the thing is a collection."</subtitle>
  
<subtitle id="0:58:53"> this  idea of meta so</subtitle>
+
<subtitle id="0:58:22">It's got stuff about its colors and borders, and other kinds of things here.</subtitle>
  
<subtitle id="0:58:56"> here's one where I'm  what I'm going to do is suppress all</subtitle>
+
<subtitle id="0:58:30">And, here's one that says 'as object'. Now, an inheritance system the Object would be way up at the end of the inheritance system,</subtitle>
  
<subtitle id="0:58:59">the costumes on all the objects and I  think this will help you</subtitle>
+
<subtitle id="0:58:37">but in a side-ways composition object system, it's going to be one of the traits. We're looking at it's a view of the object as an object. </subtitle>
  
<subtitle id="0:59:2"> see that  everything is sort of abstractly the  same</subtitle>
+
<subtitle id="0:58:47">We tried to think about what would be an interesting way of showing this idea of meta.</subtitle>
  
<note for="0:59:5">
+
<note for="0:58:54">
 
Choose world useBluePrintCanvas: to change the look.
 
Choose world useBluePrintCanvas: to change the look.
 
</note>
 
</note>
<subtitle id="0:59:5"> here ok so</subtitle>
+
<subtitle id="0:58:54">What I'm going to do is suppress all the costumes on all the objects. I think this will help you to see that everything is sort of abstractly the same here</subtitle>
 
 
<subtitle id="0:59:8"> basically I just turned  off the costume mechanism</subtitle>
 
 
 
<subtitle id="0:59:11"> now I have  this interesting problem of getting back</subtitle>
 
  
<subtitle id="0:59:17">but that's why I left</subtitle>
+
<subtitle id="0:59:5">Ok, basically I just turned off the costume mechanism. Now, I have this interesting problem of getting back.</subtitle>
  
<subtitle id="0:59:20"> my mouse here so  this is the guy who did it I'm gonna  click the</subtitle>
+
<subtitle id="0:59:16">But, that's why I left my mouse here. so, this is the guy who did it. I'm going to click the little caret here, which I know is there to make it false.</subtitle>
  
<subtitle id="0:59:23"> little carrot here which I  know is there</subtitle>
+
<subtitle id="0:59:26">Then, we're going to hit the exclamation point to turn everything back on again.</subtitle>
  
<subtitle id="0:59:26"> to make it false and then  we're gonna hit the</subtitle>
+
<subtitle id="0:59:30">Do you see wghat I'm talking about though? Basically, meta is safe if you can allow fence after fence after fence after fence.</subtitle>
  
<subtitle id="0:59:29"> exclamation point to  turn everything back on again</subtitle>
+
<subtitle id="0:59:39">Now, there are many many examples, which if I had longer talk I'd show you, but I wanted to show you the last set of ideas here.</subtitle>
  
<subtitle id="0:59:32"> you see  I'm talking about them basically</subtitle>
+
== The Springy Flag demo ==
  
<subtitle id="0:59:35"> meta is  safe if you</subtitle>
+
<subtitle id="0:59:50">If we could just go to the video 2, please, in the back.</subtitle>
  
<subtitle id="0:59:38"> can allow fence after fence  after fence after fence</subtitle>
+
<subtitle id="0:59:57">Okay, return to Sketchpad here. If we look at a more future-oriented environment, we see that we now have the ability of doing much more complicated ways of thinking of environments.</subtitle>
 
 
<subtitle id="0:59:41"> now there are  many many</subtitle>
 
 
 
<subtitle id="0:59:44"> examples which have had</subtitle>
 
 
 
<subtitle id="0:59:47">longer talk I'd show you but I wanted to  show you the last</subtitle>
 
 
 
<subtitle id="0:59:50"> set of ideas here so  if</subtitle>
 
 
 
<subtitle id="0:59:53"> we could just go to the video to  please in the</subtitle>
 
 
 
<subtitle id="0:59:56"> back ok</subtitle>
 
 
 
<subtitle id="0:59:59"> so return to  sketch pad here</subtitle>
 
 
 
<subtitle id="1:0:2"> and if we look at a more</subtitle>
 
 
 
<subtitle id="1:0:5">  future oriented environment</subtitle>
 
 
 
<subtitle id="1:0:8"> we see that  we now have the</subtitle>
 
 
 
<subtitle id="1:0:11"> ability of doing much  more complicated</subtitle>
 
 
 
<subtitle id="1:0:14"> ways of thinking of  environments so</subtitle>
 
  
 
<note for="1:00:17">
 
<note for="1:00:17">
Switch to a Croquet Image.
+
Alan switched to a Croquet Image.
<slide for="1:00:30" name="Croquet bridge1.png"/>
+
<slide for="1:00:17" name="OOPSLA2004-Croquet1.png"/>
<slide for="1:01:20" name="Croquet bridge2.png"/>
+
<slide for="1:0:56" name="OOPSLA2004-Croquet-mars1.png"/>
 +
<slide for="1:01:3" name="OOPSLA2004-Croquet-mars2.png"/>
 +
<slide for="1:01:39" name="OOPSLA2004-Croquet bridge1.png"/>
 +
<slide for="1:02:48" name="OOPSLA2004-Croquet k1400.png"/>
 +
<slide for="1:01:58" name="OOPSLA2004-Croquet k400.png"/>
 +
<slide for="1:03:14" name="OOPSLA2004-Croquet wind on.png"/>
 +
<slide for="1:03:51" name="OOPSLA2004-Croquet canada.png"/>
 
</note>
 
</note>
<subtitle id="1:0:17"> here I am in a 3d</subtitle>
+
<subtitle id="1:0:17">Here, I am in a 3D environment that we built called Croquet.</subtitle>
 
 
<subtitle id="1:0:20">environment that we built called croquet  by</subtitle>
 
 
 
<subtitle id="1:0:23"> the way the if your interests and the  kids stuff that's found on the website</subtitle>
 
 
 
<subtitle id="1:0:26">  squeak LAN org and</subtitle>
 
 
 
<subtitle id="1:0:29"> this croquet  environment</subtitle>
 
 
 
<subtitle id="1:0:32"> this is all free software  croquet environment</subtitle>
 
 
 
<subtitle id="1:0:35"> is found on open  croquet org</subtitle>
 
 
 
<subtitle id="1:0:38"> and</subtitle>
 
 
 
<subtitle id="1:0:41"> so again this is a  completely</subtitle>
 
 
 
<subtitle id="1:0:44"> constructible environment  here but</subtitle>
 
 
 
<subtitle id="1:0:47"> what we did was</subtitle>
 
 
 
<subtitle id="1:0:50"> to do a</subtitle>
 
 
 
<subtitle id="1:0:53"> kind of  an interesting analogy to webpages</subtitle>
 
 
 
<subtitle id="1:0:56">  so each 3d</subtitle>
 
 
 
<subtitle id="1:0:59"> world here is like a web page  and these portals are like a hyper</subtitle>
 
 
 
<subtitle id="1:1:2"> link  to them</subtitle>
 
 
 
<subtitle id="1:1:5"> so I'm just going to pop Alice  to enter this</subtitle>
 
 
 
<subtitle id="1:1:8"> guy here</subtitle>
 
 
 
<subtitle id="1:1:11"> I'm just going to  do a 360</subtitle>
 
 
 
<subtitle id="1:1:14">this</subtitle>
 
 
 
<subtitle id="1:1:17"> is a Mars environment all</subtitle>
 
 
 
<subtitle id="1:1:20"> of these  environments are buildable</subtitle>
 
 
 
<subtitle id="1:1:23"></subtitle>
 
 
 
<subtitle id="1:1:26"> I'm just  going to show</subtitle>
 
 
 
<subtitle id="1:1:35">one last thing so</subtitle>
 
 
 
<subtitle id="1:1:38"> I can end on time I</subtitle>
 
 
 
<subtitle id="1:1:41">  kind of like bridges as an analogy here</subtitle>
 
 
 
<subtitle id="1:1:44">  so we</subtitle>
 
 
 
<subtitle id="1:1:47"> have a bridge structure</subtitle>
 
 
 
<subtitle id="1:1:50"> and</subtitle>
 
 
 
<subtitle id="1:1:53"> I want  to show you what the kids scripting</subtitle>
 
 
 
<subtitle id="1:1:56">  environment looks like for doing</subtitle>
 
 
 
<subtitle id="1:1:59">bridge so the first thing we want to  look at is</subtitle>
 
 
 
<subtitle id="1:2:2"> the little script for Masse's  basically</subtitle>
 
 
 
<subtitle id="1:2:5"> what we have here is F equals  MA</subtitle>
 
 
 
<subtitle id="1:2:8"> acceleration is</subtitle>
 
 
 
<subtitle id="1:2:11"> the force divided by  the mass the velocity is</subtitle>
 
 
 
<subtitle id="1:2:14"> increasing by  the acceleration and</subtitle>
 
 
 
<subtitle id="1:2:17"> the location</subtitle>
 
 
 
<subtitle id="1:2:20"> of all  the little elements on here</subtitle>
 
 
 
<subtitle id="1:2:23"> is going to  increase by the velocity and</subtitle>
 
 
 
<subtitle id="1:2:26"> I'm going  to turn on the the</subtitle>
 
 
 
<subtitle id="1:2:29"> force here</subtitle>
 
 
 
<subtitle id="1:2:32"> to work</subtitle>
 
 
 
<subtitle id="1:2:38">and say okay let's do do that</subtitle>
 
 
 
<subtitle id="1:2:41"> so this  bridge structures</subtitle>
 
 
 
<subtitle id="1:2:44"> feeling gravity</subtitle>
 
 
 
<subtitle id="1:2:47"> and  you can see it coming into equilibrium</subtitle>
 
 
 
<subtitle id="1:2:50">  could have made it stiffer</subtitle>
 
 
 
<subtitle id="1:2:53"> but let's  look at the springs the</subtitle>
 
 
 
<subtitle id="1:2:56"> springs are  fairly stiff</subtitle>
 
 
 
<subtitle id="1:2:59"> K gets - 1400</subtitle>
 
 
 
<subtitle id="1:3:2"> here and so</subtitle>
 
 
 
<subtitle id="1:3:5">what I'm going to what I'm going to do  here is to make</subtitle>
 
 
 
<subtitle id="1:3:8"> it - 400 tell</subtitle>
 
 
 
<subtitle id="1:3:11"> it to go  ahead that's going to let</subtitle>
 
 
 
<subtitle id="1:3:14"> it sag quite a  bit more then</subtitle>
 
 
 
<subtitle id="1:3:17"> we all remember the Tacoma  Narrows Bridge film</subtitle>
 
 
 
<subtitle id="1:3:20"> so of course we have  to have</subtitle>
 
 
 
<subtitle id="1:3:23"> some wind and</subtitle>
 
 
 
<subtitle id="1:3:26"> basically what I'm  going to do here</subtitle>
 
 
 
<subtitle id="1:3:29"> is turn on a variable</subtitle>
 
 
 
<subtitle id="1:3:32">  gusting wind that's completely described  by</subtitle>
 
 
 
<subtitle id="1:3:35"> this script here and</subtitle>
 
 
 
<subtitle id="1:3:38"></subtitle>
 
 
 
<subtitle id="1:3:41"> okay so now it's  going to do</subtitle>
 
 
 
<subtitle id="1:3:44"> some Tacoma Narrows stuff</subtitle>
 
 
 
<subtitle id="1:3:53">I need sound I noticed the</subtitle>
 
 
 
<subtitle id="1:3:56"> sound wasn't  working thank</subtitle>
 
 
 
<subtitle id="1:3:59"> you</subtitle>
 
 
 
<subtitle id="1:4:2"> let's take a look at  our</subtitle>
 
 
 
<subtitle id="1:4:5"> bridge</subtitle>
 
 
 
<subtitle id="1:4:14">and you know it's funny when you</subtitle>
 
 
 
<subtitle id="1:4:17"> look at  a model of steel if</subtitle>
 
  
<subtitle id="1:4:20"> you remember that  Tacoma Narrows Bridge movie</subtitle>
+
<subtitle id="1:0:20">By the way, if you are interested in the kids stuff, It's found on the website:</subtitle>
  
<subtitle id="1:4:23"> it was  really like the bridge was made out of</subtitle>
+
<subtitle id="1:0:26">squeakland.org, and this Croquet environment, this is all free software. Croquet environment is found on opencroquet.org.</subtitle>
  
<subtitle id="1:4:26">  fabric of some kind and this has this</subtitle>
+
<subtitle id="1:0:40">So again, this is a completely constructible environment here.</subtitle>
  
<subtitle id="1:4:29">kind of same aspect and that gave us an  interesting idea here</subtitle>
+
<subtitle id="1:0:47">But what we did was to do a kind of an interesting analogy to webpages.</subtitle>
  
<subtitle id="1:4:59">so</subtitle>
+
<subtitle id="1:0:55">Each 3D world here is like a web page, and these portals are like a hyperlink to them.</subtitle>
  
<subtitle id="1:5:2"> I think a good way to end this talk  is just to</subtitle>
+
<subtitle id="1:1:3">I'm just going to pop Alice to enter this guy here. I'm just going to do a 360. Those are a Mars environment.</subtitle>
  
<subtitle id="1:5:5"> say that if</subtitle>
+
<subtitle id="1:1:18">All of these environments are buildable.</subtitle>
  
<subtitle id="1:5:8"> we can't get kids  interested in the romance why</subtitle>
+
<subtitle id="1:1:26">I'm just going to show you one last thing so I can end on time.</subtitle>
  
<subtitle id="1:5:11"> this is  unbelievably beautiful new</subtitle>
+
<subtitle id="1:1:39">I kind of like bridges as an analogy here.</subtitle>
  
<subtitle id="1:5:14"> art form then</subtitle>
+
<subtitle id="1:1:44">We have a bridge structure. I want to show you what the kids scripting environment looks like for doing a bridge.</subtitle>
  
<subtitle id="1:5:17">  we're not living up</subtitle>
+
<subtitle id="1:1:58">The first thing we want to look at is the little script for Masses.</subtitle>
  
<subtitle id="1:5:20"> to what our duty is  of enjoying the</subtitle>
+
<subtitle id="1:2:2">Basically what we have here is F = ma. Acceleration is the force divided by the mass. The velocity is increasing by the acceleration.</subtitle>
  
<subtitle id="1:5:23"> stuff ourselves we have  to reach deeply inside of</subtitle>
+
<subtitle id="1:2:16">The location of all the little elements on here is going to increase by the velocity.</subtitle>
  
<subtitle id="1:5:26"> ourselves to  remember what it was that first got</subtitle>
+
<subtitle id="1:2:24">I'm going to turn on the the force here. (I get the mouse to work.)</subtitle>
  
<subtitle id="1:5:29"> us  interested in this wonderful new thing</subtitle>
+
<subtitle id="1:2:35">Say ok. Let's do that.</subtitle>
  
<subtitle id="1:5:32">  remember that it hasn't</subtitle>
+
<subtitle id="1:2:41">This bridge structures is feeling gravity. You can see it coming into equilibrium.</subtitle>
  
<subtitle id="1:5:35"> even started yet  and it's</subtitle>
+
<subtitle id="1:2:48">It could be made it stiffer. But let's look at the springs. The springs are fairly stiff:</subtitle>
  
<subtitle id="1:5:38"> our duty to help the children  as young as</subtitle>
+
<subtitle id="1:2:58">K gets -1400 here. What I'm going to do here is to make it -400.</subtitle>
  
<subtitle id="1:5:41"> possible try and do a better  job of it than we have</subtitle>
+
<subtitle id="1:3:08">Tell it to go ahead. That's going to let it sag quite a bit more.</subtitle>
  
<subtitle id="1:5:44"> thank you very  much</subtitle>
+
<subtitle id="1:3:14">Then, we all remember the Tacoma Narrows Bridge film. Of course, we have to have some wind.</subtitle>
  
<subtitle id="1:6:26">Thank You Alan</subtitle>
+
<subtitle id="1:3:25">Basically, what I'm going to do here is to turn on a variable gusting wind that's completely described by this script here.</subtitle>
  
<subtitle id="1:6:29"> for a fantastic talk and  we</subtitle>
+
<subtitle id="1:3:40">Okay, now it's going to do some Tacoma Narrows stuff here.</subtitle>
  
<subtitle id="1:6:32"> have a token of our affection here</subtitle>
+
<subtitle id="1:3:51">I need sound. I noticed the sound wasn't working. Thank you.</subtitle>
  
<subtitle id="1:6:35"> as  well that concludes</subtitle>
+
<subtitle id="1:4:1">Let's take a look at our bridge here. You know it's funny when you look at a model of steel, if you remember that Tacoma Narrows Bridge movie, it was really like the bridge was made out of fabric of some kind.</subtitle>
  
<subtitle id="1:6:38"> our Turing</subtitle>
+
<subtitle id="1:4:26">This has this kind of same aspect. That gave us an interesting idea here.</subtitle>
  
<subtitle id="1:6:41"> Award  lecture and you're welcome now</subtitle>
+
<subtitle id="1:5:1"> I think a good way to end this talk is just to say that if we can't get kids interested in the romance, why this is unbelievably beautiful new art form, then,</subtitle>
  
<subtitle id="1:6:44"> to go</subtitle>
+
<subtitle id="1:5:17">we're not living up to what our duty is of enjoying the stuff ourselves.</subtitle>
  
<subtitle id="1:6:47"> get  dinner and</subtitle>
+
<subtitle id="1:5:22">We have to reach deeply inside of ourselves to remember what it was that first got us interested in this wonderful new thing.</subtitle>
  
<subtitle id="1:6:50"> then afterwards at 8 o'clock  we'll</subtitle>
+
<subtitle id="1:5:30">Remember that it hasn't even started yet, It's our duty to help the children as young as possible to try and do a better job of it than we have.</subtitle>
  
<subtitle id="1:6:53"> be beginning the last</subtitle>
+
<subtitle id="1:5:42">Thank you very much.</subtitle>
  
<subtitle id="1:6:56"> thing on  this evenings agenda</subtitle>
+
<subtitle id="1:6:26">Thank you, Alan for a fantastic talk, and we have a token of our affection here as well.</subtitle>
  
<subtitle id="1:6:59"> the tenth  anniversary reunion</subtitle>
+
<subtitle id="1:6:34">That concludes our Turing Award Lecture and you're welcome now to go get dinner, and then, afterwards at 8 o'clock, we'll be beginning the last thing on this evenings agenda: GOF tenth anniversary reunion. You are dismissed.</subtitle>

Latest revision as of 20:48, 23 December 2017

Introduction by John Vlissides

(time: 0:0:1)

Dr. John Vlissides is the conference chair of OOPSLA 2004.

Good Afternoon, and welcome to the Association for Computing Machinery's Turing Award Lecture.
The Turing Award is ACM's most prestigious technical award.
If you look at past Turing laureates, it'll read like a Who's Who of computer science.
The Turing award is given out annually to an individual who has contributed, has given contributions of lasting and major technical importance to the field.
And, the Turing Laureate is invited to give a talk on whatever topic they'd like at any ACM conference during the year.
We are privileged to have this year's laureate choose OOPSLA as their venue.
So, without further ado I'd like to introduce Dr. Alan Kay. He's a senior fellow at Hewlett Packard.
He's president of Viewpoints Research Institute.
The Turing award was given to him for pioneering many of the ideas at the root of contemporary object-oriented programming languages, for leading the team that developed Smalltalk, and for fundamental contributions to personal computing.
Let's give a warm OOPSLA welcome to Alan Kay.

Introduction and Context: Education for High School and First Year College

(time: 0:1:47)
Of course, one of the funny things about the larger citation was, it was also said for coming up and helping to come up with many of the ideas that eventually led to C++ and Java.
It reminded me of Tony Hoare's, in his Turing lecture, which was quite a bit about ALGOL. He pointed out that ALGOL is a great improvement, especially on its successors.
About a year ago, I got asked by SIGCSE to come and give a talk here, which happened yesterday, about early experiences in computing, primarily for high school, and to some extent for first year college.
And, I wasn't of course expecting to get this award.
I had spent a fair amount of time trying to think about the high school and college situation.
Since I had no real experience doing a first course.
And, I certainly didn't like what I found when I went out and read books and the AP stuff and so forth.
But I figured nobody wants to hear anybody complain even if they're telling the truth for an hour.
So what I decided to do was to see if I were going to teach a first course in high school or college what would it be like.
That was the talk I gave yesterday.
And, I wound up thinking that, perhaps, a slightly different version of this would make a reasonable Turing Lecture.

Don Knuth Quote on New Mathematics for Computing

(time: 0:3:53)

Donald Knuth is a famous computer scientist. Wikipedia: [1].

Here it is. First I want to start off with a Don quote.
He has lots of them, but this is my favorite one of his.
"Beware of bugys in the above code; I've only proved it correct, not tried it.
This is the perfect antidote to what you might call the academization of the field, which, quite a bit of which, has been an attempt to use classical mathematics to deal with a new mathematics that requires a new math to help describe it.
So what we have is a new field.
I believe a simple statement about our field is that math wins: Basically every time you can do something reasonably mathematical what we're trying to do, we make great advances.
But, it's rare that old math wins.
Because, we have a new way of dealing with things. Our theorems are not short, and they're not about infinite things, which is what classical math is generally about.
The equivalent of our theorems and proofs are very very long things about finite structures.
So we have a different way of doing about, and hence Don's quote, which i think is absolutely perfect.

Research Accomplishment within the Community

(time: 0:5:19)
Because our field is the way it is, everything we do is done within a community, and nobody has benefited more from their community than I have over the years.
For the stuff I'm going to talk about and show tonight, a lot of people contributed, especially over the last few weeks, putting together some of these examples.
These are some of the people. Some of them you notice have gray hair.
(time: 0:25:20)

Daniel Ingalls on Wikipedia: [2]

This guy, I know is here, Dan Ingalls, who is the actual creator of Smalltalk.
I just wrote the math part, and Dan was the guy who actually made it work.
So, we should give him a round of applause.

Science and Engineering of Computing: Pyramids vs. Arches vs. Cathedrals

(time: 0:6:20)
I guess the first thing to think about here is we have these terms: Computer science and software engineering.
I happen to be around when both of these terms were made up
(time: 0:6:28)

Alan Perlis [3] was a leader of the early computer science field.

Al Perlis made up the term computer science, absolutely not implying that we had one but as something to actually aspire to.
And, I think he immediately regretted, even in the first few years afterwards, because what happened was what some people have sometimes called physics envy.
Basically everybody who dabbles in the sciences wants to be a physicist, because they deal with the absolute foundations of the universe.
They do it with serious math and serious experiments.
Physics envy is, science envy is often found when fields wind up having science in their name.
So, library science, social science, computer science.
Interestingly physics, chemistry, and biology don't have science in their name.
I think there can be a science of computing, similar to a science of bridge building, and in fact, Simon pointed out in his book called the sciences of the artificial that you can have a science about artifacts like a science of bridge building.
Build a bridge by any means whatsoever stress it in various ways analyze it come up with a theory of build bridge building build some more bridges and so forth.
In many ways physics has found itself becoming a science of the artificial, because a lot of physics is actually all about the science of building accelerators and detectors,
and trying to figure out just exactly what it is that those needle swings actually mean.
(time: 0:8:32)

The report from the Software Engineering Conference in '68 is available online. [4]

Software engineering actually was a term that came about for a conference (I think) in '68 and Garmisch, Germany.
Again, the people who went to that conference, except for a few, did not think there was anything remotely like a software engineering at that time.
In fact, the slide shows kind of..., from the depths to something that we might call engineering today of the difference between a pyramid made out of bricks with no architecture.
(time: 0:9:8)

The venue of the talk was Vancouver, Canada. Alan is referring to Seattle, where Microsoft is located.

Just a garbage dump with a nice limestone cover made by slaves: Sounds like something that happens a few miles south of here, actually.
I can just imagine some pharaonic architect at some conference, announcing their new pyramid.
(time: 0:9:45)

One of the books is "Building the Empire State", edited by Carol Willis. [5]. See also another talk by Alan on this site: [6].

On the other side of the scale, we have one of my favorite artifacts: the Empire State Building, which is well documented and I urge every single one of you who has aspirations to be an engineer to read the three or four excellent recent books about the Empire State Building.
One of them is the actual log by the foreman.
Basically, the Empire State Building was constructed from start to finish, that is,
from tearing down the buildings that were there to occupancy in less than 11 months by less than 3,000 people.
The flooring itself went up at the rate of almost two stories a day.
And, the steel was still warm, about a hundred degrees warm, from the steel mills in Pittsburgh, where it came from.
This is one of the greatest organized projects.
The Starrett brothers who did the Empire State Building knew they were making a statement, because the Depression had just happened.
Everything was set up to do this thing. They had already done a couple of skyscrapers and they had a feeling this might be the last skyscraper for a while.
So they decided to make it an expression of what it meant to be able to make a skyscraper.
It's just the greatest thing.
But, I think if we look at our own field, we cannot find any instance of 3,000 people being put together to something incredible in less than 11 months and have it work.
Whatever it is that we've got in engineering, it might be closer to Egyptian or Babylonian engineering.
Now, somewhere in the middle, things with arches started appearing, an actual architecture appeared.
Interesting thing that happened some years before the Gothic cathedrals was the Pantheon in Rome, which has this clear span, the dome of clear span of fourteen stories.
Made out of the best reinforced concrete the world ever known, but two thousand years ago. That was amazing.
if you've ever been there, it looks like it was made yesterday.
I think the best practice that we have right now in our field as far as engineering is a little bit like a Gothic cathedral.
Sometimes our projects take a hundred years. but we can aspire to build rather large structures by the standards of the Middle Ages out of much much less material than the Egyptians needed.
So, little progress is being made but I think that whenever we say computer science or software engineering, especially whenever we think we're teaching it, the worst thing we could ever do is to pretend to the students that we know what it is.
Because the students are going to be the only ones that are going to save us.
So, we should teach the students what I was taught when I was in graduate school in the sixties: that is it isn't done yet. It's not even close to be done. You have to understand what the actual scope of computing is going to be and you have to help us invent it.
In fact, in those years in the ARPA community, the PhDs were given out for actual advances in the state of the art, as opposed for, as opposed to commentaries and small additions to the state of the art.
So it was a very different time back then but it was a lot simpler.

A Simple Model of Motivations: Inner- vs. outer-motivated. instrumental vs. intrinsic reasoners

I could give a whole talk, maybe not terribly successfully, about motivations.
In the end, everything we do is being subject to other people's motivations, in particular the user interface. I feel particularly in education.
But I thought I'd show a much simpler model than we use, but it's only a two-dimensional model.
And just have us all ponder it for a bit. So, one dimension is, in the reasoning and change area, is the incredible disparity between the percentage of human beings, who are basically instrumental reasoners and,
those who are basically interested in ideas. This has been studied in a variety of different ways.
It seems like the normal us, normal human beings, are basically instrumental reasoners.
An instrumental reasoner is a person who judges any new tool or idea by how well that tool or idea contributes to his or her current goal.
so, most of us are very goal-oriented. We're working on things. Somebody comes up with something new, and our ability to accept it or reject it, if we're instrumental reasoners, depends on whether we can see it contributing to our current goal.
The other 5% are primarily motivated by ideas. So, when a new idea comes along that appeals to them, they will transform themselves and their goals in the presence of the idea.
Needless to say, the 5% are much easier to teach. In particular, if you're trying to teach them things that were inventions, rather than things that are built into human beings.
If you're trying to teach something really weird like science, it is not an easy thing, because you're dealing with a set of very practical and pragmatic kinds of people.
The other dimension here is (between) basically about reward:
Inner-motivated vs. outer-motivated.
About 85 percent of us are motivated by things outside of ourselves. About 15 percent are motivated by things inside ourselves.
That's kind of interesting.
What we have here, if we look at this, is we have a kind of an interesting category of people who are inner-motivated and interested in ideas.
I'll leave it for you to figure out who those people are.
An interesting category number two is people who are outer-motivated and interested in ideas.
The people who are inner-motivated and not interested in ideas tend to be dangerous and caused a lot of trouble.
A lot of corporate executives are up in there.
Basically, our field is a field that's the next great 500 year idea after the printing press. And, we should all be properly concerned with something quite different.
That is, we have to be concerned with how the entire bulk of humanity is going to respond and deal with the things that we do.
So it's extremely interesting to consider the 80% here.
That our outer-motivated and basically practical.
A fair amount is known about this 80 percent.
In the past, I've used the term voting.
(time: 0:17:35)
You know, this group does not go to the polls to vote on the things they believe in.
It takes them a long time to change what they believe in.
But the way they do it is kind of interesting. It's a kind of a consensus that is gradual.
It's a seeping kind of consensus, and it has many of the same characteristics as a model of a forest fire.
(time: 0:18:4)

The system was StarSqueak, which is inspired by Resnick's StarLogo. A book by Resnick explains the non-linearity of the simulation [7].

I have a little particle system here.
The percentage of trees to the percentage of clearing here is just 50/50.
If I say okay, let's see if we can spread the fire throughout the forest here with a 50%.
I didn't initialize that. Let's try again.
Here's 50%.
So surprising that it doesn't [burn much]. Try again.
Let's try go up to 60%, Let's say. You can think of the 60% as people who are almost ready to agree.
People are essentially there. So 10% more, it spreads better.
Try another one. Each time the placement is random so you got a slightly different behavior.
Yeah, so that's about what you get.
they burned itself out. If we go up to like 66 percent or so 67, 66.
Yeah. In these contagion models, you can think of this as spreading memes, if you will.
Roughly two-thirds of this 80% has to pretty much be there before you can get them to agree and do something: because they just won't do it unless everybody else is doing it.
This model works really great for even weird things like wearing baseball caps backwards and girls showing their belly buttons.
If you trace the girls showing their belly buttons over the years, you'll see how gradual this change was, until suddenly it was okay.
The thing is, if it's okay now, it was always okay. So, what's the problem?
Well, the problem was that this group generally didn't think it was okay.
It wasn't okay until about two-thirds of them thought it was okay. And then, all of a sudden it became okay.
So, you're trying to reform education, or you're trying to get a group of people to understand real object-oriented programming, or any other new kind of thing that comes along, you get this incredible disparity,
which in computing, there are many many instances of roughly 30-year lags from when an idea was really proved out to when it gets generally accepted.
Nobody knows whether this thirty years actually means anything or not.
But it's interesting to look at the case of UNIX and all of its different adventures over the years and finally being accepted.
Even though it has a basically late '60s architecture, which is better than the architecture of some of the operating systems that are around.
But still, it's a fairly old architecture. So, I'm desperately trying to hold on to life until at least 2007 or 8.
Because quite a bit of the work at PARC peaked 30 years ago from those days, and I'm curious to see whether those ideas will actually be accepted.

Doug Engelbart and NLS

(time: 0:22:05)

Doug Enbelbart on the Engelbart Institute site: [8].

However, if you look at an extreme case, Doug Engelbart, who had some of the best ideas ever.
I think he was on a different plane. His ideas are now getting closer and closer to being 40 years old in their articulate expression, and most people still don't understand what it was that he was trying to do.

Temptation of Complexity

(time: 0:22:29)

The slide is in the style of the Joy of Cooking ["http://www.thejoykitchen.com/"].

I think an ancillary problem is that our field, and I think people in general, take great delight in complexity.
It seems like, you go to schools, it is remarkable how much work they make the poor kids do, when they taught the math better and differently, the kids would have to do much less work.
But in fact, I think people delight in complexity and think that putting immense amounts of hard work in, even if there's an easier way is actually, there's something morally good about it.
I think, for our field, one of the hardest things is the delight of complexity, because of the many levels of structure in computing, and the difficulty of going from one level to another.
Pretty much everyone who gets interested in computing and a successful at it is a person who has mastered staggering amounts of complexity.
Now, I believe that most of those complexity is absolutely unnecessary, and I believe it can be proved that it's unnecessary.
(time: 0:23:53)
What we really want is to find the joy of simplicity.
A lot of this talk is almost a living cliché, in the sense that very little of what I'm going to say here is stuff that you don't already know.
But, when I started thinking about what should I say at this talk, simplicity just kept on coming back.
All the projects I've been involved in that have been successful have been successful because the people who worked in them put quite a bit of effort into keeping things to be simple.

PARC

(time: 0:24:35)
And, this community of ARPA and then Xerox PARC was outstanding at being simple.
This is a very, very confident group of people.
But surprisingly, I won't use the word modest because I don't think anybody would recognize that word applied to these people, but I would say we are very, very respectful of these grand ideas they are trying to do.
(time: 0:25:6)

Butler Lampson on Wikipedia: [9]

Butler Lampson here was always pounding for simplicity.
(time: 0:25:6)

Charles Thacker on Wikipedia: [10].

Chuck Thacker, we did the Alto in just three months, was a master of simplicity.
Dan Ingalls was master of simplicity.
(time: 0:25:25)

Robert Metcalfe and David Boggs designed Ethernet and started the 3COM compnay [11]

So were Metcalfe and Boggs.
Metcalfe tells a great, great stories about how he didn't actually -- how many things he'd actually didn't understand.
It was incredibly important that he did not understand of of these things. Else, he never would have been able to invent the Ethernet.
(time: 0:25:44)

Gary Starkweather on Wikipedia: [12]

Gary Starkweather, who did the laser printer -- first laser printer was a page a second, 500 pixels to the inch, faster than most laser printers today, was about three-quarters made with parts that Gary got from Edmund Scientific hobby catalog,
because they were cheap so he could get many of them and try them out, and so forth.
This particular way of looking at things, which was... basically this group said we're just nowhere near as smart as IBM claims to be.
They're always announcing some new complicated network architecture that we can't see how to make it work.
So, we'll just stick to our old full duplex ideas and retransmission, and put a few other things in there.
It may not work as well as what IBM claims it's going to do, but it's probably going to work.
Funny thing is that the network's we use today are those terribly designed, unbelievably inefficient stochastic networks that are far from perfect.
But, what's great is that they eventually get that packet through perfectly.
You just have to be willing to wait.

The idea of Kernels to build Larger Systems

(time: 0:27:14)

Books shown are "Molecular Biology of the Gene" by James Watson, "Relativity Visualized" by Lewis Carroll Epstein, and the US Constitution.

The other thing that this group was really good at was what I call a different kind of simplicity.
It's hard to claim that Maxwell's equations here is simple, because there are all that work you have to do to understand vectors and curl and divergence and gradient.
But the thing about it is once you've done that work it shrinks down to something that's just a simple eyeful.
the Constitution of the United States is one of my favorite systems design.
Think of it: Millions and millions of mutually incompatible parts running without completely breaking for more than 200 years. Pretty Amazing.
You can hold it in your hand. The reason you can hold it in your hand is they were wise not to put any laws in it.
It was not a law-based thing. It's not a case-based thing. It was a principle-based thing. It was a kernel.
These are the kinds of things that appeal to me greatly over the years.
I think trying to give beginners at computing a taste for the power of the particular kind of simplicity that works so well is what we should do

Relationship between Science, Math, Computing and Systems in Introductory Courses

(time: 0:28:35)
Now, the other thing I've noticed in talking with younger people and teaching a course, upper division course at UCLA once a year, is that
it's not so much that the juniors and seniors don't know that much: they actually don't know that much for being close to graduating from college, but the thing that is distressing about them is that the things that they do know, they know very badly,
as they know them in ways that are almost counterproductive for their thinking.
So I think in a first course at anything, you have a real chance to not just teach the one subject. But in the first course, you can actually touch on a lot of subjects.
For instance, I think math and science should always be taught together in the beginning.
They came about that way. One is a language and one is a process.
I think systems and computing should be taught together. I think the four of them should be taught together.
there are arts. We should teach art and engineering, and why not throw in a little bit about how these unusual ways of looking at the world have affected civilization.
I think the other thing that is so critical and so absent in most of our undergraduate computer science curricula is the failure to think what we're doing as a kind of literacy.
Literacy is something that comes up about when you have first ideas that are worthwhile talking about.
You have a way of writing down those ideas and discussing them that gives literature.
Literacy is the ability to deal with both the spoken and the written forms of these ideas.
When we teach an English class, a first English class in college, we're not aiming that class at people who are going to become professional writers, when they graduate four years later,
We actually think of the impact of the printing press, and the new rhetorics and new ways of arguing that came with the printing press as something that is larger than becoming a professional reader or writer.
I think the same thing is true for computing.
Fifty years from now, this will not be controversial. But right now, it's thought of as, even in mighty Stanford with its great endowment, as basically vocational training in Java. It's primarily thought of as teaching kids programming.
It's absolutely important to learn how to program but computer science and software engineering are not the same as programming, any more than building Chartres Cathedral is the same as Brick Laying.
You have to understand one the other, but they're very different.
(time: 0:31:44)

Konrad Lorenz was an ethologist [13]. He is famous for books such as Solomon's Ring.

I think this is absolutely critical, because the picture on this little slide here is Konrad Lorenz out swimming in the pond with his ducks following.
Remember of Lorentz found that whatever moved near a duckling during one little critical period of a few hours was taken thereafter by that duckling to be its mother.
And, it would follow even into adulthood that person.
Lorenz found that they would follow him, even more happily if he jumped into the water. So, there he is.
I think whenever we're introducing somebody to something, we have to realize that we are going to be a Konrad.
If we're successful, we're going to be a kind of Konrad Lorenz. We should take great care to what we're going to imprint them on.
We don't want to imprint them on, for God's sakes, is the data structures and algorithms.
That was a great idea in the 50s and you had to understand it. And, it's still useful today for optimization and other things.
But, it is not the center of the field, and has not been at the center of the field for a long time.
What's worse about it is it doesn't scale.
Those very little systems aspect in way the data structures and algorithms are taught.
I believe that we have to do is to give the students a real taste of what the whole deal is.
They have to start thinking in systems ways, thinking in mathematical ways, scientific ways, as we go along.
This is a tall order, obviously.

Sketchpad

(time: 0:33:32)

Alan shows the Sketchpad movie embedded in the slide. There are numerous instances of the movie online. A digital version of his thesis is also available: [14].

Now, we could all remember our Konrad Lorentz. Mine happened after I'd been a programmer for five years.
A journeyman programmer putting myself through school, went to graduate school, and was given Ivan Sutherland's thesis by Dave Evans.
Dave said: "Read it, then come back and talk with me about it."
It was big thick thing, but I saw that his thesis advisor was a guy by the name of Claude E. Shannon.
I'd heard of Shannon. I thought: "Boy, if Shannon signed this thing, maybe I should read it."
I discovered that it was the most amazing thing that I had ever heard of being done with a computer up to that point. [I will] just show you a little bit of the idea of it.
This is a huge machine, which is about the size of this auditorium, had only one guy on it from 3 o'clock the morning to 6 o'clock the morning.
You know, as he just sketched in something there, then told those edges to become mutually perpendicular, and Sketchpad figured out how to do that for him.
First system to have a clipping window. You are actually drawing on this huge virtual sheet of paper.
Then he draws quickly, points to these two guys and say, "okay, become parallel". It figures out how to do that.
Now he's saying "be collinear", so lay yourself over these lines.
Of course, this display on this machine only plotted points.
About half the capacity of this machine, about here over there.
It was just to put these little dots up on the screen, and pretend it was a line drawing display.
Now, he's got a  hole in the flange.
And, he wants to make a rivet.
Got some more ink. Notice the two-handed user interface, as all user interfaces should be.
That is what the other hand is for.
He pointed the center of the cross piece there to get the center of the arc. And again, let's do the mutually perpendicular trick,
that drags the center guy, which drags the arc guys we got a nice little symmetric rivet.
And, he could tell it to be in some ratio.
The two sides of the vertical part of the rivet. Here, he's just showing it us that will do another solution.
now he's going to go back to the original form and show us one other interesting thing,
which is he can make instances of this guy.
They get an instance of the rivet here he can move it around. See, the success of sketchpad led to a desire for a better looking displays.
Actually, those twinkling is.. they discovered right away that you got seasick unless they randomly plotted the dots.
Every time something is being done in there, they are actually sorting half the memory of the machine to keep the dot display random.
it wouldn't swim around much more than it it is here.
He's got four instances now, and he says, "whoops, I forgot about the cross piece." So, it goes to the master, which we would call a class, makes the cross pieces transparent.
And, we see the instances all feel that.
Now, he's going to take this thing that he just made, and make it into a master.
So, the new construction is a master. Now, he can get some instances of this flange here.
The range of Sketchpad was surprising.
By the end of 1962, he could not only do stuff like this, but he decided, okay, I need letters and numbers.
so letters and numbers were actually made out of the Sketchpad stuff directly by drawing them in.
So, all of the captions and all of his drawings in his thesis were made by the system as well.
And then, he realized: "oh yeah, I can actually do a bridge."
Because the bridge actually acts a little bit like a very stiff set of springs.
I can tell Sketchpad to try and keep these guys constant when something is trying to force them to move and I can measure the disparity,
the strain on each one of these guys and I actually can show those labels on all of these guys, and I get a simulation of a bridge without Sketchpad ever having heard about a bridge.
He realized: "oh, I can do that with EMF also."
I can make circuits, and the constraints will actually drive all of these simulations.
In my career, I think what I've been doing for the last forty years is trying to get the next version of Sketchpad out,
because if you think about what this thing is. This is kind of what we want.
We want something, in which anything that we are interested in, especially dynamic things that were interested in, we can simply draw them in there,
put in the relationships that we understand piece by piece, and have the system synthesize all this into a dynamic simulation of astounding range.
It's just beautiful. (If there are,) I don't know whether our field has Newton yet. But if it has Newton, then I think it would have to be Ivan Sutherland, because the field was before Ivan came on the scene, and after it was fantastic.
I went to ask Ivan how could you possibly, in one year, in machine code, on this big but rather slow machine with no graphics display on it, have done the first graphics system, the first object-oriented software system, and the first dynamic problem-solving system.
Ivan looked at me and said: "Well, I didn't know it was hard."
(so the period) By the way this thesis is available from MIT - you should get it and read it.
My favorite line from it is, he says that his hope that future work will far surpass this effort.
So, that was my first day in graduate school.

Imprinting of Good Ideas

(time: 0:41:14)
Second day, I found out about that I was actually in the middle of the ARPA community, which I had no realization about.
(time: 0:41:21)

J.C.R. Licklider was the first director of ARPA IPTO until 64 and succeeded by Robert Taylor. The funding is credited to create various computer inventions, including the world wide network now known as the Internet.

Licklider was not the funder in 1966: it was Bob Taylor. They were just starting to talk about doing what Licklider called the Intergalactic Network.
The reason he called it that is he didn't want people to design a small network.
Those original theory was wherever electricity plug on the face of the earth, there should be a place where you can plug into this intergalactic network.
That meant that the thing had the scale at least up to 500 million to a billion users.
(time: 0:41:57)

[15] and [16] on Wikipedia.

So, people were starting to think about that. In a couple of days later I got a tape and some documents about a language called Simula from Norway by Dahl here and Nygaard.
It's very hard to understand.
After a lot of work, and looking at the listings, we realize, well, this is a programming language that is dealing with the same kind of structures as Sketchpad.
By the way, I should mention that, you know, the name, the term object predates object-oriented programming.
Object, in the early 60s, was a general term that was used to describe compound data structures, especially if they had pointers in them.
There was none the paraphernalia of what we think about as object native programming today. Object was just a general term. You'll find it in lots of old papers.
And, the realization that you could write procedures for dealing with the kind of structures Sketchpad was doing was very liberating,
because even though it was ugly compared to what Sketchpad was, Sketchpad was just unbelievably elegant, but nobody knew how to scale the solver on it.
In fact, that problem has not been solved today yet.
But, by going to the less elegant way of being able to write code against these structures, we all got excited about the possibilities of being able to do in a system like Simula the kinds of graphic and interactive manipulation.
My background coming into this was in molecular biology and mathematics.
And, particularly Sketchpad just hit me right here as one of these kernels.
The thing I suddenly realized was that if you were sufficiently abstract if you ignored what these systems were trying to do,
if you just thought of them as being cheap versions of all these little computers on the ARPANET,
you could solve the same scaling problem in software.
Then, you could actually subsume everything in computing with just one kind of idea, which is essentially a little software computer:
Not a procedure, not a data structure, but a whole computer.
A lot of the development of OOP was software engineering after that.
Because the Interesting things to me in the development of OOP and development of practical OOP as it wound up in Xerox PARC was very similar to what happened in Lisp earlier, which is, boy, we've got this incredibly elegant wonderful thing.
Too bad it runs so slow. But, what if we could make it run faster in a way that doesn't get in the users way, then we would have something really, really nice.
(time: 0:45:11) >

Guy Steele Jr. contributed to numerous programming languages, including Lisp [17].

Some of the best, actually I just talked Guy Steele, who is one of the people who helped make Lisp into something really special to use as well as to contemplate.
So, the image here was, "wow it's all about messages."
The reasons about messages and not about objects so much is that the messages are the abstractions.
We spend far too much time in our field worrying about what the objects are.

Influences

(time: 0:45:53)
I need to move along. I have a bazillion prejudices.
I love parallelism because I learned how to program plug boards before programming a computer.
The beauty about those things was you could make a kind of a machine that was highly parallel.
(time: 0:48:13)

Burroughs computers are designed by Bob Barton, and designed for executing a higher-level language directly and safely. [18]

I love hardware like the B5000. All of our virtual machines today that we use came out of the hardware of that machine.
Too bad Intel and Motorola have never saw fit to learn anything about software. It'd make our lives much simpler.
I love Lisp. Everybody should understand it.
(time: 0:46:38)

A movie of JOSS is available here: [19] and also the paper: [20]

JOSS was the most beautiful programming language ever done. It could hardly do anything but it did it beautifully.
It's an interesting challenge to take something of this level of beauty and try to scale it.
You combine these two together, you got the original Logo that's how Logo came about:
An attempt to take Lisp and have something prettier, especially for kids.
I love APL. All of these all of these systems I think can be done in a different way.
But basically the love of these things is because these guys got to some special kernel.
I love what Engelbart did. A lot of spreadsheets. I loved HyperCard.
Suppose you could amalgamate all these wonderful things into a simple system that regular people can use.
(time: 0:47:31)

Exploratorium is a museum located in San Francisco, where visitors can try hands-on exhibits. Frank Oppenheimer is the founder.

Now, let's talk about the why of what we're doing.
Why do people do things? Well, Frank Oppenheimer in the Exploratorium made 500 exhibits to teach just one idea:
The world is not as it seems.
They asked him why, and he said: "well, every child is different. We have 2,000 children in here, bumping against 500 different exhibits.
"There's a good chance that a child will find the exhibit that speaks to them clearly about this first important idea about science.
So he said 500 of them. I think if you're going to teach a course in this, you need 20 to 30 projects or so for each area to give the children the choice.
(time: 048:35)

Even before you can hear it in this movie, the chat by backstage personnels was becoming audible.

(Excuse me, am I interfering your conversation back here?) <subtitle id="0:48:50">I won't tell you what quadrant they're in.
(time: 0:48:59)

Alan mentioned that the farm he grew up had one and that was kept operational by fixing it by themselves.

I think the another important idea is scratch programming, because so much of computing education today is learning the library.
I don't think beginners should ever be shown the library. If the programming language can't do interesting things without the library, then what is it?
I think it should be like a Model T. Model T has about 350 parts, and you could take it apart over a weekend and put it back together.
But it was a completely real automobile.
A lot of what we're going to look at here in the next few minutes are sort of first-order ideas that might say some important things.
(time: 0:49:44)
Now, a good thing is that many people have written about the fun, the beauty, the romance, what's important, and about looking ahead in computing.
There's not just one book out there, and there's less than 1% of books about computing are worthwhile reading.
But, it's not one book. There are dozens of them, and there's plenty of ideas for how to do this stuff.

A Learning Environment: Control or Learning?

(time: 0:50:16)
The user interface had better not be like Microsoft's caricature of the stuff that was done at PARC, (which is..,) I always have the feeling when I'm using Windows that I'm dealing with a somewhat dangerous nuclear reactor control panel,
and that I haven't had enough training on it.
Whereas what I want is something like pencil and paper. Although there are things I can learn about pencil and paper, what is most important about them is what I can do without knowing much.
I can find out the pencil and paper is fun.

Flow, explained

(time: 0:50:56)

There is a book by Csikszentmihalyi titled "Flow" [21]

I want an environment that deals with a set of ideas in a way that gets me to lose myself in the ideas.
Mike Csikszentmihalyi here, was one of our advisors, had this nice model about this balance between our abilities and the challenges.
He said, well, if the challenges are higher than our abilities then we start getting anxious, especially if we're climbing up a rock face, or giving a talk in front of an audience.
But, if our abilities are greater than the challenge, we start getting bored.
So, these are the two main states that humans are in: either anxious or bored.
Hard to get to is this flow state where everything is just working.
We like to widen this flow state for beginners.
For example, one of the things we could do to deal with areas that where the challenge is greater than our abilities is to increase the safety.
So, having undo in an environment is nice.
Most programming environments don't have much of an undo.
On the other hand, because we get bored so easily, we want something to help us to pay attention better.
A good user interface basically deals with these things.
it provides more safety than most computer people think an ordinary person needs.
It provides more ways of attracting their attention than most of us think people need.

Introduction to Drive a Car

(time: 0:52:50)

Alan is drawing a car, explain the viewer and some tiles. There are movies of a typical Squeak Etoys demo available elsewhere.

I just want to show you, give you, a little bit of a flavor about how children start, and then show you where I think things are actually going to go.
The work we do with children, we want them to have an experience that is basically thinking about ideas, making pictures of them.
For example, take something that most kids would like to do for one reason or another, which is to learn how to drive their parents car.
We get them to design a car. Most kids, boys and girls, put on big off-road tires like this, because part of the deal is feeling powerless, and wanting to feel empowered.
This is something that video game manufacturers really understand.
Why are those games so violent?
We have a little graphic object here, and to do things to it, we can open it up and see a viewer of it.
I realize people in the back can't see very well. So I'm looking at a property here called the heading of the thing, and I'm going to count up the number starts at zero.
As I count it up, you can see the little car turning.
I've got a behavioral property here: "forward."
I've got another one called "turn by".
If I just drag out the lines of script here and turn on the clock, then I've got my little car going.
There are many different kinds of things I can do with it. For the kids they want to learn a little bit about driving the car.
So, the first experiment is what happens if I click this number. It says "turn by". Now, "turn by zero". It goes straight. Turn by negative.
I'll call this guy "Car".
Keep it straight here. That's a little bit like kissing your sister, because real cars use wheels.
So I want to make a wheel here. Just draw one.
It's got the same user interface as the other one, because this is a system, which has only one kind of object.
It's exactly the opposite of the systems that you're used to that have zillions and zillions of classes and subclasses and so forth.
We can talk a little bit about it, about this in the question and answer, if you would like.
And, so here's this wheel it's got a heading also. If I pick up the name of that heading and just drag it over to the script here.
So it says "car turned by wheel's heading." Now I can just turn the car around.
Now, what's important for ten-year olds is that they learn what a variable is for the rest of their life from this one shot.
That's good, and actually I believe this would be good for high school and college kids, too, because there's quite a bit of evidence that they don't ever learn much about what a variable actually is, or does ways of thinking about it.
So there are many different kinds of things here that can be done.

Safe Meta Features in Etoys

(time: 0:56:50)

Open a viewer on the scriptor and rotate them.

So, having one kind of object. That's kind of weird.
I mean, here's a photograph which we can see has the same kind of feel here.
The script is one of these guys. What if I open up its viewer. I got one called scriptor here, and I see, "oh yeah" it looks really the same kind of thing.
So what if I make a script on the script here, and get it going.
Think about the implications of this: it means that wherever I go out, for instance, what if I go over here.
(time: 0:57:30)

Open a viewer on the pane in viewer and rotate them.

Well, the viewers got one of those things and so does this category.
(time: 0:57:38)

Open a viewer on the world, and show different panes.

And, this whole outside thing that I'm giving the talk in terms of is also one of these things.
So I look at its viewer, the viewer of the world, and well, it's got the same kinds of things here.
(time: 0:57:58)

Nathanael Schärli et al. developed a behavior composition scheme called Traits: [22]. The main work was done when Nathanael was interning at Alan's group at Disney Walt Imagineering R&D. The scheme was later adapted to various languages.

We looked at the various traits here. This is like what Nathanael Schärli was talking about earlier.
This notion of side-ways composition also goes back to PARC. Back then in the 70s, it was called aspects but that word means something somewhat different now.
We look at various things you can see: "Oh, the thing is a collection."
It's got stuff about its colors and borders, and other kinds of things here.
And, here's one that says 'as object'. Now, an inheritance system the Object would be way up at the end of the inheritance system,
but in a side-ways composition object system, it's going to be one of the traits. We're looking at it's a view of the object as an object.
We tried to think about what would be an interesting way of showing this idea of meta.
(time: 0:58:54)

Choose world useBluePrintCanvas: to change the look.

What I'm going to do is suppress all the costumes on all the objects. I think this will help you to see that everything is sort of abstractly the same here
Ok, basically I just turned off the costume mechanism. Now, I have this interesting problem of getting back.
But, that's why I left my mouse here. so, this is the guy who did it. I'm going to click the little caret here, which I know is there to make it false.
Then, we're going to hit the exclamation point to turn everything back on again.
Do you see wghat I'm talking about though? Basically, meta is safe if you can allow fence after fence after fence after fence.
Now, there are many many examples, which if I had longer talk I'd show you, but I wanted to show you the last set of ideas here.

The Springy Flag demo

If we could just go to the video 2, please, in the back.
Okay, return to Sketchpad here. If we look at a more future-oriented environment, we see that we now have the ability of doing much more complicated ways of thinking of environments.
(time: 1:00:17)

Alan switched to a Croquet Image.

Here, I am in a 3D environment that we built called Croquet.
By the way, if you are interested in the kids stuff, It's found on the website:
squeakland.org, and this Croquet environment, this is all free software. Croquet environment is found on opencroquet.org.
So again, this is a completely constructible environment here.
But what we did was to do a kind of an interesting analogy to webpages.
Each 3D world here is like a web page, and these portals are like a hyperlink to them.
I'm just going to pop Alice to enter this guy here. I'm just going to do a 360. Those are a Mars environment.
All of these environments are buildable.
I'm just going to show you one last thing so I can end on time.
I kind of like bridges as an analogy here.
We have a bridge structure. I want to show you what the kids scripting environment looks like for doing a bridge.
The first thing we want to look at is the little script for Masses.
Basically what we have here is F = ma. Acceleration is the force divided by the mass. The velocity is increasing by the acceleration.
The location of all the little elements on here is going to increase by the velocity.
I'm going to turn on the the force here. (I get the mouse to work.)
Say ok. Let's do that.
This bridge structures is feeling gravity. You can see it coming into equilibrium.
It could be made it stiffer. But let's look at the springs. The springs are fairly stiff:
K gets -1400 here. What I'm going to do here is to make it -400.
Tell it to go ahead. That's going to let it sag quite a bit more.
Then, we all remember the Tacoma Narrows Bridge film. Of course, we have to have some wind.
Basically, what I'm going to do here is to turn on a variable gusting wind that's completely described by this script here.
Okay, now it's going to do some Tacoma Narrows stuff here.
I need sound. I noticed the sound wasn't working. Thank you.
Let's take a look at our bridge here. You know it's funny when you look at a model of steel, if you remember that Tacoma Narrows Bridge movie, it was really like the bridge was made out of fabric of some kind.
This has this kind of same aspect. That gave us an interesting idea here.
I think a good way to end this talk is just to say that if we can't get kids interested in the romance, why this is unbelievably beautiful new art form, then,
we're not living up to what our duty is of enjoying the stuff ourselves.
We have to reach deeply inside of ourselves to remember what it was that first got us interested in this wonderful new thing.
Remember that it hasn't even started yet, It's our duty to help the children as young as possible to try and do a better job of it than we have.
Thank you very much.
Thank you, Alan for a fantastic talk, and we have a token of our affection here as well.
That concludes our Turing Award Lecture and you're welcome now to go get dinner, and then, afterwards at 8 o'clock, we'll be beginning the last thing on this evenings agenda: GOF tenth anniversary reunion. You are dismissed.