|
|
(25 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"> |
− | <subtitle id="0:0:8"> the Turing award is</subtitle>
| + | Dr. John Vlissides is the conference chair of OOPSLA 2004. |
− | | + | </note> |
− | <subtitle id="0:0:11"> ACMs most prestigious technical</subtitle>
| + | <subtitle id="0:0:1">Good Afternoon, and welcome to the Association for Computing Machinery's Turing Award Lecture.</subtitle> |
− | | |
− | <subtitle id="0:0:14"> award if you look at past Turing laureates</subtitle>
| |
− | | |
− | <subtitle id="0:0:17"> it'll read like a who's who of computer</subtitle> | |
− | | |
− | <subtitle id="0:0:20"> science the Turing award is</subtitle>
| |
− | | |
− | <subtitle id="0:0:23"> given out annually to an individual</subtitle>
| |
− | | |
− | <subtitle id="0:0:26"> who has contributed</subtitle>
| |
− | | |
− | <subtitle id="0:0:29"> has given</subtitle>
| |
− | | |
− | <subtitle id="0:0:32"> contributions of lasting and major technical importance</subtitle>
| |
− | | |
− | <subtitle id="0:0:35"> to the field and the</subtitle>
| |
− | | |
− | <subtitle id="0:0:38"> Turing laureate is invited to</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:7">The Turing Award is ACM's most prestigious technical award.</subtitle> |
| | | |
− | <subtitle id="0:0:56"> so without further ado I'd like to</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:59"> introduce dr. Alan Kay the he's a senior</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:1:2"> fellow at Hewlett Packard he's president</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:1:5"> of viewpoints Research Institute and the</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:1:8"> Turing award was given to him for pioneering</subtitle> | + | <subtitle id="0:1:1">He's president of Viewpoints Research Institute.</subtitle> |
| | | |
− | <subtitle id="0:1:11"> many of the ideas at the root of contemporary</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:1:14"> object-oriented programming languages for leading</subtitle> | + | <subtitle id="0:1:22">Let's give a warm OOPSLA welcome to Alan Kay.</subtitle> |
| | | |
− | <subtitle id="0:1:17"> the team that developed small talk and four</subtitle>
| + | == Introduction and Context: Education for High School and First Year College == |
− | | |
− | <subtitle id="0:1:20"> fundamental compute contributions to</subtitle>
| |
− | | |
− | <subtitle id="0:1:23"> personal computing let's give a warm welcome</subtitle>
| |
| | | |
| <note for="0:1:47"> | | <note for="0:1:47"> |
− | <slide for="0:1:47" name="TitleSlide.png"/> | + | <slide for="0:1:47" name="OOPSLA2004-TitleSlide.png"/> |
| </note> | | </note> |
− | <subtitle id="0:1:47">of</subtitle> | + | <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: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"> and</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:8"> the reminded me of Tony whores in</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:11"> his Turing lecture</subtitle> | + | <subtitle id="0:2:49"> And, I wasn't of course expecting to get this award.</subtitle> |
| | | |
− | <subtitle id="0:2:14"> which was quite a bit of which was</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:17"> about Al Gore he pointed out that algo is</subtitle> | + | <subtitle id="0:3:2">Since I had no real experience doing a first course.</subtitle> |
| | | |
− | <subtitle id="0:2:20"> a great improvement especially on its successors</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:29">o about a year</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:32"> ago I got asked by Sigma C to</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:35"> come and give a talk here which happened yesterday</subtitle> | + | <subtitle id="0:3:34">That was the talk I gave yesterday.</subtitle> |
| | | |
− | <subtitle id="0:2:38"> about early experiences</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:41"> in computing</subtitle>
| + | == Don Knuth Quote on New Mathematics for Computing == |
− | | |
− | <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:12:41">specially whenever we think we're teaching it 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:44"> worst thing we could ever do is to pretend to the students</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: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:20:50">to understand real object-oriented programming or</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:53"> any other new kind of thing that comes along</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:56"> you get this incredible disparity</subtitle> | + | <subtitle id="0:18:27">I didn't initialize that. Let's try again.</subtitle> |
| | | |
− | <subtitle id="0:20:59"> which in computing there</subtitle> | + | <subtitle id="0:18:32">Here's 50%.</subtitle> |
| | | |
− | <subtitle id="0:21:2"> are many many instances of roughly</subtitle> | + | <subtitle id="0:18:38">So surprising that it doesn't [burn much]. Try again.</subtitle> |
| | | |
− | <subtitle id="0:21:5"> 30-year lags from when</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:8"> an idea was really proved out to</subtitle> | + | <subtitle id="0:18:54">People are essentially there. So 10% more, it spreads better.</subtitle> |
| | | |
− | <subtitle id="0:21:11"> when it gets generally accepted but nobody knows</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:14">whether this thirty years actually means anything or</subtitle> | + | <subtitle id="0:19:24">Yeah, so that's about what you get.</subtitle> |
| | | |
− | <subtitle id="0:21:17"> not but it's it's interesting to look at the</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:20"> case of UNIX and all</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:23"> of its different adventures</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:26"> over the years and finally</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:29"> being accepted even though it has</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:32"> a basically late 60s architecture</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:35"> which is better than the architecture of some of</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:38"> the operating systems that are around</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:41"> but still it's a fairly old architecture</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:44"> and so I'm desperately</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:47"> trying to hold on to life until</subtitle> | + | <subtitle id="0:21:11">Nobody knows whether this thirty years actually means anything or not.</subtitle> |
| | | |
− | <subtitle id="0:21:50"> at least 2007 or</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:53"> eight because some quite a bit of</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:56"> the work at Parc peaked 30 years ago</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:59">and I'm curious to see whether those ideas will</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:22:2"> actually be accepted</subtitle>
| + | == Doug Engelbart and NLS == |
| | | |
| <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:35"> our field and</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:38">people in general take great delight in complexity</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:41"> seems</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:44"> like you go to schools</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:47"> is remarkable</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: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:5"> catalog because</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:8"> they were cheap so he could get many</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:11"> of them and try them out and so forth</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:14"> so this</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:17"> this particular</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:20"> way of looking at things which was basically</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:23"> Hayward basically the this</subtitle> | + | <subtitle id="0:27:4">But, what's great is that they eventually get that packet through perfectly.</subtitle> |
| | | |
− | <subtitle id="0:26:26"> group said we're just nowhere near as smart as IBM</subtitle> | + | <subtitle id="0:27:09">You just have to be willing to wait.</subtitle> |
| | | |
− | <subtitle id="0:26:29"> claims to be they're always</subtitle>
| + | == The idea of Kernels to build Larger Systems == |
− | | |
− | <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: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:31:23"> of as teaching kids programming</subtitle> | + | <subtitle id="0:32:9">And, it would follow even into adulthood that person.</subtitle> |
| | | |
− | <subtitle id="0:31:26"> and it's absolutely important</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:31:29"> to learn how to program but</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:31:32"> computer science and software engineering</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:31:35"> are not the same as programming any</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:31:38"> more than building Chartres Cathedral is the same as Brick Lane</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:31:41"> you have to understand one</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:31:44">the other but they're very different I think this</subtitle> | + | <subtitle id="0:32:56">What's worse about it is it doesn't scale.</subtitle> |
| | | |
− | <subtitle id="0:31:47"> is absolutely critical because the picture on this little</subtitle> | + | <subtitle id="0:33:0">Those very little systems aspect in way the data structures and algorithms are taught.</subtitle> |
| | | |
− | <subtitle id="0:31:50"> slide here is Konrad Lorenz</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:31:53"> out swimming in the pond with his ducks following</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:31:56"> remember of Lorentz</subtitle> | + | <subtitle id="0:33:23">This is a tall order, obviously.</subtitle> |
| | | |
− | <subtitle id="0:31:59"> found that whatever moved</subtitle>
| + | == Sketchpad == |
| | | |
− | <subtitle id="0:32:2"> near a duckling during one little critical period</subtitle> | + | <note for="0:33:32"> |
− | | + | <slide for="0:33:32" name="OOPSLA2004-Sketchpad1.png"/> |
− | <subtitle id="0:32:5"> of a few hours was taken thereafter</subtitle>
| + | 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]. |
− | | |
− | <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:32:59"> worse about it it doesn't scale those</subtitle>
| |
− | | |
− | <subtitle id="0:33:2"> very little systems aspect in way</subtitle>
| |
− | | |
− | <subtitle id="0:33:5"> the data structures and algorithms are taught and so</subtitle>
| |
− | | |
− | <subtitle id="0:33:8"> I believe that we have to do</subtitle>
| |
− | | |
− | <subtitle id="0:33:11"> is give the students a real taste what</subtitle>
| |
− | | |
− | <subtitle id="0:33:14"> the whole deal is and so they have to</subtitle>
| |
− | | |
− | <subtitle id="0:33:17"> start thinking in systems ways thinking</subtitle>
| |
− | | |
− | <subtitle id="0:33:20"> in math and alkaway scientific ways as</subtitle>
| |
− | | |
− | <subtitle id="0:33:23"> we go along this is a tall order</subtitle>
| |
− | | |
− | <subtitle id="0:33:26"> obviously now we could all remember</subtitle>
| |
− | | |
− | <subtitle id="0:33:29"> our Conrad Lorentz and</subtitle>
| |
− | | |
− | <subtitle id="0:33:32"> mine</subtitle>
| |
− | | |
− | <subtitle id="0:33:35"> happened after I'd been a programmer for five years</subtitle>
| |
− | | |
− | <note for="0:33:38">
| |
− | <slide for="0:33:38" name="Sketchpad1.png"/>
| |
| </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: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:36:59"> those twinkling is they</subtitle> | + | <subtitle id="0:33:49">Dave said: "Read it, then come back and talk with me about it."</subtitle> |
| | | |
− | <subtitle id="0:37:2"> discovered right away that you got seasick unless</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:37:5"> they randomly plotted the dots so</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:37:8">mething's being done in there they're actually sorting half</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:37:11"> the memory of the machine to keep the dot display random</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:37:14"> so it wouldn't swim around much more than</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:37:17"> it it is here</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:37:20"> he's</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:37:23"> got four instances now and he says whoops I</subtitle> | + | <subtitle id="0:35:3">Now he's saying "be collinear", so lay yourself over these lines.</subtitle> |
| | | |
− | <subtitle id="0:37:26"> forgot about the cross piece so it goes to the master</subtitle> | + | <subtitle id="0:35:11">Of course, this display on this machine only plotted points.</subtitle> |
| | | |
− | <subtitle id="0:37:29"> which we would call a class makes</subtitle> | + | <subtitle id="0:35:15">About half the capacity of this machine, about here over there.</subtitle> |
| | | |
− | <subtitle id="0:37:32"> the cross pieces transparent and</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:37:35"> we see the instances all feel that</subtitle> | + | <subtitle id="0:35:28">Now, he's got a hole in the flange.</subtitle> |
| | | |
− | <subtitle id="0:37:41">so now he</subtitle> | + | <subtitle id="0:35:34">And, he wants to make a rivet.</subtitle> |
| | | |
− | <subtitle id="0:37:47">'s going to</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:37:50"> take this thing that he just made and make</subtitle> | + | <subtitle id="0:35:47">That is what the other hand is for.</subtitle> |
| | | |
− | <subtitle id="0:37:53"> it into a master so the new construction</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:37:56"> is a master and now he can get some instances of this</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:37:59"> flange here so the</subtitle> | + | <subtitle id="0:36:8">And, he could tell it to be in some ratio.</subtitle> |
| | | |
− | <subtitle id="0:38:2"> the</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:38:5"> range of sketchpad was surprising so</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:38:8"> by the end of 1962 he</subtitle> | + | <subtitle id="0:36:32">which is he can make instances of this guy.</subtitle> |
| | | |
− | <subtitle id="0:38:11"> could not only do stuff like this but</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:38:14"> he decided okay I need</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:38:17"> letters and numbers so he</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:38:20"> letters and numbers were actually made out of the sketchpad</subtitle> | + | <subtitle id="0:37:14">it wouldn't swim around much more than it it is here.</subtitle> |
| | | |
− | <subtitle id="0:38:23"> stuff directly by drawing them in so</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:38:26">f the captions on all of his drawings and his thesis</subtitle> | + | <subtitle id="0:37:32">And, we see the instances all feel that.</subtitle> |
| | | |
− | <subtitle id="0:38:29"> were made by the system as well and</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:38:32"> then he realized oh yeah I can actually do a bridge</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:38:35"> because the bridge actually acts a</subtitle> | + | <subtitle id="0:38:01">The range of Sketchpad was surprising.</subtitle> |
| | | |
− | <subtitle id="0:38:38"> little bit like a very stiff set of Springs and</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:38:41"> I can tell sketchpad</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:38:44"> to try and keep these</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:38:47"> guys constant when something is trying to force</subtitle> | + | <subtitle id="0:38:29">And then, he realized: "oh yeah, I can actually do a bridge."</subtitle> |
| | | |
− | <subtitle id="0:38:50"> them to move and I can measure the</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:38:53"> disparity the strain</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:38:56"> on each one of these guys and I actually can show</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:38:59">those labels on all of these guys and I get a simulation</subtitle> | + | <subtitle id="0:39:5">He realized: "oh, I can do that with EMF also."</subtitle> |
| | | |
− | <subtitle id="0:39:2"> of a bridge without sketchpad</subtitle> | + | <subtitle id="0:39:9">I can make circuits, and the constraints will actually drive all of these simulations.</subtitle> |
| | | |
− | <subtitle id="0:39:5"> ever having heard about a bridge and he realized</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:39:8"> oh I can do that with EMF also I can make</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:39:11"> circuits and the constraints will</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:39:14"> actually drive all of these simulations so</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:39:17"> in my career I think</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:39:20"> what I've been doing for the last forty years is</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:39:23"> trying to get the next version of sketch pad</subtitle> | + | <subtitle id="0:40:40">Ivan looked at me and said: "Well, I didn't know it was hard."</subtitle> |
| | | |
− | <subtitle id="0:39:26"> out because if you think about what this</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:39:29"> thing is this is kind of what we want we</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:39:32"> want something in which anything that we are</subtitle> | + | <subtitle id="0:41:5">So, that was my first day in graduate school.</subtitle> |
| | | |
− | <subtitle id="0:39:35"> interested in especially</subtitle>
| + | == Imprinting of Good Ideas == |
− | | |
− | <subtitle id="0:39:38"> dynamic things that were interested in we</subtitle>
| |
− | | |
− | <subtitle id="0:39:41"> can simply draw them in there</subtitle>
| |
− | | |
− | <subtitle id="0:39:44"> put in the relationships that we understand</subtitle>
| |
− | | |
− | <subtitle id="0:39:47"> piece by piece and have the system synthesize all</subtitle>
| |
− | | |
− | <subtitle id="0:39:50"> this into a dynamic simulation of astounding</subtitle>
| |
− | | |
− | <subtitle id="0:39:53"> range so it's just beautiful</subtitle>
| |
− | | |
− | <subtitle id="0:39:56"> if they're I don't know whether our field</subtitle>
| |
− | | |
− | <subtitle id="0:39:59">Newton yeah I</subtitle>
| |
− | | |
− | <subtitle id="0:40:2"> knew then</subtitle>
| |
− | | |
− | <subtitle id="0:40:5"> I think it would have to be ivan sutherland</subtitle>
| |
− | | |
− | <subtitle id="0:40:8"> because the where</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:40:14"> so I want to ask Ivan</subtitle>
| |
− | | |
− | <subtitle id="0:40:17"> how could you possibly in one</subtitle>
| |
− | | |
− | <subtitle id="0:40:20"> year in machine code</subtitle>
| |
− | | |
− | <subtitle id="0:40:23"> on this big</subtitle>
| |
− | | |
− | <subtitle id="0:40:26"> but rather slow machine with</subtitle>
| |
− | | |
− | <subtitle id="0:40:29"> no graphics display on it have done</subtitle>
| |
− | | |
− | <subtitle id="0:40:32"> the first graphics system the</subtitle>
| |
− | | |
− | <subtitle id="0:40:35"> first object-oriented software system and the</subtitle>
| |
− | | |
− | <subtitle id="0:40:38"> first dynamic problem-solving system</subtitle>
| |
− | | |
− | <subtitle id="0:40:41"> and I even looked at me said well</subtitle>
| |
− | | |
− | <subtitle id="0:40:44"> I didn't know it was hard</subtitle>
| |
− | | |
− | <subtitle id="0:40:47"> so the period by</subtitle>
| |
− | | |
− | <subtitle id="0:40:50">way this thesis is available from MIT should</subtitle>
| |
− | | |
− | <subtitle id="0:40:53"> get it and read it my favorite line</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:59"> effort</subtitle>
| |
− | | |
− | <subtitle id="0:41:5">so</subtitle>
| |
− | | |
− | <subtitle id="0:41:8"> that was my first day</subtitle>
| |
− | | |
− | <subtitle id="0:41:11"> in graduate school</subtitle>
| |
| | | |
| <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:45:25">So, the image here was, "wow it's all about messages."</subtitle> |
| | | |
− | <subtitle id="0:43:38">kinds of graphic and interaction manipulation and</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:43:41"> my background coming into this was</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:43:44"> in molecular biology and</subtitle>
| + | == Influences == |
− | | |
− | <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:38"> we spend</subtitle>
| |
− | | |
− | <subtitle id="0:45:41">time in our field worrying about what the objects are</subtitle>
| |
− | | |
− | <subtitle id="0:45:44"></subtitle>
| |
− | | |
− | <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:11"> a different way but basically</subtitle>
| |
− | | |
− | <subtitle id="0:47:14"> the love of these things is because these guys</subtitle>
| |
− | | |
− | <subtitle id="0:47:17"> got to some special kernel I love what Engelbart</subtitle>
| |
| | | |
− | <subtitle id="0:47:20"> did a lot of spreadsheets I loved HyperCard</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:23"> suppose you could amalgamate</subtitle> | + | <subtitle id="0:47:48">The world is not as it seems.</subtitle> |
| | | |
− | <subtitle id="0:47:26"> all these wonderful things into</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:29"> a simple system that regular people can</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> |
| | | |
− | <note for="0:47:32"> | + | <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> |
− | <slide for="0:47:32" name="Exploratorium.png"/> | + | <note for="048:35"> |
| + | Even before you can hear it in this movie, the chat by backstage personnels was becoming audible. |
| </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: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> | + | <subtitle id="0:48:50">I won't tell you what quadrant they're in.</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:5"> so much of computing education</subtitle>
| |
− | | |
− | <subtitle id="0:49:8"> today is learning the library and</subtitle>
| |
− | | |
− | <subtitle id="0:49:11"> I don't think beginners should ever be shown the library</subtitle>
| |
− | | |
− | <subtitle id="0:49:14"> the programming language can't do interesting</subtitle>
| |
− | | |
− | <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: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:29"> take it apart over a weekend and put it back together</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:32"> but it was a completely real automobile</subtitle> | + | <subtitle id="0:49:31">But it was a completely real automobile.</subtitle> |
| | | |
− | <subtitle id="0:49:35"> so a lot of what we're gonna</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> |
| | | |
− | <note for="0:49:38"> | + | <note for="0:49:44"> |
− | <slide for="0:49:38" name="influences.png"/> | + | <slide for="0:49:44" name="OOPSLA2004-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"> |
| Alan switched 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> |
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.
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.
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.
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.
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.
I guess the first thing to think about here is we have these terms: Computer science and software engineering.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
Butler Lampson here was always pounding for simplicity.
Chuck Thacker, we did the Alto in just three months, was a master of simplicity.
Dan Ingalls was master of simplicity.
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.
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 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
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.
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.
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.
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.
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.
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.
(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.
Second day, I found out about that I was actually in the middle of the ARPA community, which I had no realization about.
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.
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.
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.
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.
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.
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.
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.
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.
(Excuse me, am I interfering your conversation back here?)
<subtitle id="0:48:50">I won't tell you what quadrant they're in.
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.
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.
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.
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.
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.
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 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.
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.
Well, the viewers got one of those things and so does this category.
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.
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.
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.
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.
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.
Here, I am in a 3D environment that we built called Croquet.
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.