Difference between revisions of "Alan Kay Turing Award Lecture (2004)"
(20 intermediate revisions by 2 users not shown) | |||
Line 1: | Line 1: | ||
{{#evt: | {{#evt: | ||
service=youtubeIA | service=youtubeIA | ||
− | |id= | + | |id=aXC19T5sJ1U |
|alignment=left | |alignment=left | ||
|autoresize=true | |autoresize=true | ||
Line 7: | Line 7: | ||
<slideview/> | <slideview/> | ||
+ | == Introduction by John Vlissides == | ||
+ | <note for="0:0:1"> | ||
+ | Dr. John Vlissides is the conference chair of OOPSLA 2004. | ||
+ | </note> | ||
<subtitle id="0:0:1">Good Afternoon, and welcome to the Association for Computing Machinery's Turing Award Lecture.</subtitle> | <subtitle id="0:0:1">Good Afternoon, and welcome to the Association for Computing Machinery's Turing Award Lecture.</subtitle> | ||
Line 18: | Line 22: | ||
<subtitle id="0:0:49">We are privileged to have this year's laureate choose OOPSLA as their venue.</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 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:1">He's president of Viewpoints Research Institute.</subtitle> | <subtitle id="0:1:1">He's president of Viewpoints Research Institute.</subtitle> | ||
Line 25: | Line 29: | ||
<subtitle id="0:1:22">Let's give a warm OOPSLA welcome to Alan Kay.</subtitle> | <subtitle id="0:1:22">Let's give a warm OOPSLA welcome to Alan Kay.</subtitle> | ||
+ | |||
+ | == Introduction and Context: Education for High School and First Year College == | ||
<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 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: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> | ||
Line 50: | Line 56: | ||
<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:3:39">And, I wound up thinking that, perhaps, a slightly different version of this would make a reasonable Turing Lecture.</subtitle> | ||
+ | |||
+ | == Don Knuth Quote on New Mathematics for Computing == | ||
<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. First I want to start off with a Don quote.</subtitle> | <subtitle id="0:3:53">Here it is. First I want to start off with a Don quote.</subtitle> | ||
Line 73: | Line 82: | ||
<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:5:12">So we have a different way of doing about, and hence Don's quote, which i think is absolutely perfect.</subtitle> | ||
+ | |||
+ | == Research Accomplishment within the Community == | ||
<note for="0:5:19"> | <note for="0:5:19"> | ||
− | <slide for="0:5:19" name=" | + | <slide for="0:5:19" name="OOPSLA2004-Colleagues.png"/> |
</note> | </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: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> | ||
Line 83: | Line 94: | ||
<subtitle id="0:5:47">These are some of the people. Some of them you notice have gray hair.</subtitle> | <subtitle id="0:5:47">These are some of the people. Some of them you notice have gray hair.</subtitle> | ||
+ | <note for="0:25:20"> | ||
+ | Daniel Ingalls on Wikipedia: [https://en.wikipedia.org/wiki/Dan_Ingalls] | ||
+ | </note> | ||
<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:51">This guy, I know is here, Dan Ingalls, who is the actual creator of Smalltalk.</subtitle> | ||
Line 88: | Line 102: | ||
<subtitle id="0:6:6">So, we should give him a round of applause.</subtitle> | <subtitle id="0:6:6">So, we should give him a round of applause.</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:18">I guess the first thing to think about here is we have these terms: Computer science and software engineering.</subtitle> | ||
Line 97: | Line 113: | ||
<subtitle id="0:6:26">I happen to be around when both of these terms were made up</subtitle> | <subtitle id="0:6:26">I happen to be around when both of these terms were made up</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:28">Al Perlis made up the term computer science, absolutely not implying that we had one but as something to actually aspire to.</subtitle> | ||
Line 119: | Line 138: | ||
<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:8:26">and trying to figure out just exactly what it is that those needle swings actually mean.</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:8:32">Software engineering actually was a term that came about for a conference (I think) in '68 and Garmisch, Germany.</subtitle> | ||
Line 125: | Line 147: | ||
<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: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> | ||
+ | <note for="0:9:8"> | ||
+ | The venue of the talk was Vancouver, Canada. Alan is referring to Seattle, where Microsoft is located. | ||
+ | </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: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:9:24">I can just imagine some | + | <subtitle id="0:9:24">I can just imagine some pharaonic architect at some conference, announcing their new pyramid.</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]. | ||
+ | </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: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> | ||
Line 177: | Line 205: | ||
<subtitle id="0:13:27">So it was a very different time back then but it was a lot simpler.</subtitle> | <subtitle id="0:13:27">So it was a very different time back then but it was a lot simpler.</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:13:35">I could give a whole talk, maybe not terribly successfully, about motivations.</subtitle> | ||
Line 186: | Line 212: | ||
<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: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: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,</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:20">those who are basically interested in ideas. This has been studied in a variety of different ways.</subtitle> | <subtitle id="0:14:20">those who are basically interested in ideas. This has been studied in a variety of different ways.</subtitle> | ||
Line 233: | Line 259: | ||
<note for="0:17:35"> | <note for="0:17:35"> | ||
− | <slide for="0:17:35" name="Motivations2.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 know, this group does not go to the polls to vote on the things they believe in.</subtitle> | ||
Line 243: | Line 269: | ||
<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:55">It's a seeping kind of consensus, and it has many of the same characteristics as a model of a forest fire.</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]. | ||
+ | </note> | ||
<subtitle id="0:18:4">I have a little particle system here.</subtitle> | <subtitle id="0:18:4">I have a little particle system here.</subtitle> | ||
Line 292: | Line 321: | ||
<subtitle id="0:21:52">Because quite a bit of the work at PARC peaked 30 years ago from those days, and I'm curious to see whether those ideas will actually be accepted.</subtitle> | <subtitle id="0:21: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> | ||
+ | |||
+ | == 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:3">However, if you look at an extreme case, Doug Engelbart, who had some of the best ideas ever.</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:10">I think he was on a different plane. His ideas are now getting closer and closer to being 40 years old.</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: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:28">I think an ancillary problem is that our field, and I think people in general, take great delight in complexity.</subtitle> | ||
Line 318: | Line 351: | ||
<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:51">What we really want is to find the joy of simplicity.</subtitle> | <subtitle id="0:23:51">What we really want is to find the joy of simplicity.</subtitle> | ||
Line 327: | Line 360: | ||
<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: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> | ||
+ | |||
+ | == PARC == | ||
<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:32">And, this community of ARPA and then Xerox PARC was outstanding at being simple.</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:41">This is a very, very confident group of people. | + | <subtitle id="0:24:41">This is a very, very confident group of people.</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: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> | ||
+ | <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:25:6">Butler Lampson here was always pounding for simplicity.</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:25:13">Chuck Thacker, we did the Alto in just three months, was a master of simplicity.</subtitle> | ||
<subtitle id="0:25:20">Dan Ingalls was master of simplicity.</subtitle> | <subtitle id="0:25:20">Dan Ingalls was master of simplicity.</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:25:25">So were Metcalfe and Boggs.</subtitle> | ||
Line 348: | Line 392: | ||
<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> | <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"> | |
+ | Gary Starkweather on Wikipedia: [https://en.wikipedia.org/wiki/Gary_Starkweather] | ||
+ | </note> | ||
<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: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: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:6">because they were cheap so he could get many of them and try them out, and so forth.</subtitle> | ||
− | <subtitle id="0:26:14">This particular way of looking at things, which was | + | <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: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:29">They're always announcing some new complicated network architecture that we can't see how to make it work.</subtitle> | ||
Line 366: | Line 412: | ||
<subtitle id="0:27:09">You just have to be willing to wait.</subtitle> | <subtitle id="0:27:09">You just have to be willing to wait.</subtitle> | ||
+ | |||
+ | == The idea of Kernels to build Larger Systems == | ||
<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 was really good at was what I call a different kind of simplicity.</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> | ||
Line 387: | Line 436: | ||
<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: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> | ||
+ | |||
+ | == Relationship between Science, Math, Computing and Systems in Introductory Courses == | ||
<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 talking with younger people and teaching a course, upper division course at UCLA once a year, is that</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> | ||
Line 427: | Line 478: | ||
<subtitle id="0:31:40">You have to understand one the other, but they're very different.</subtitle> | <subtitle id="0:31:40">You have to understand one the other, but they're very different.</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]. | ||
+ | </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: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> | ||
Line 453: | Line 507: | ||
<subtitle id="0:33:14">They have to start thinking in systems ways, thinking in mathematical ways, scientific ways, as we go along.</subtitle> | <subtitle id="0:33:14">They have to start thinking in systems ways, thinking in mathematical ways, scientific ways, as we go along.</subtitle> | ||
− | <subtitle id="0:33:23">This is a tall order, obviously./subtitle> | + | <subtitle id="0:33:23">This is a tall order, obviously.</subtitle> |
+ | |||
+ | == Sketchpad == | ||
<note for="0:33:32"> | <note for="0:33:32"> | ||
− | <slide for="0:33:32" name="Sketchpad1.png"/> | + | <slide for="0:33:32" name="OOPSLA2004-Sketchpad1.png"/> |
+ | Alan shows the Sketchpad movie embedded in the slide. There are numerous instances of the movie online. A digital version of his thesis is also available: [https://www.cl.cam.ac.uk/techreports/UCAM-CL-TR-574.pdf]. | ||
</note> | </note> | ||
<subtitle id="0:33: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:26">Now, we could all remember our Konrad Lorentz. Mine happened after I'd been a programmer for five years.</subtitle> | ||
Line 561: | Line 618: | ||
<subtitle id="0:41:5">So, that was my first day in graduate school.</subtitle> | <subtitle id="0:41:5">So, that was my first day in graduate school.</subtitle> | ||
+ | |||
+ | == Imprinting of Good Ideas == | ||
<note for="0:41:14> | <note for="0:41:14> | ||
− | <slide for="0:41:14" name="ARPAnet.png"/> | + | <slide for="0:41:14" name="OOPSLA2004-ARPAnet.png"/> |
</note> | </note> | ||
<subtitle id="0:41: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: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> | ||
+ | <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: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> | ||
Line 575: | Line 637: | ||
<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:48">That meant that the thing had the scale at least up to 500 million to a billion users.</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: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> | ||
Line 615: | Line 680: | ||
<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: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> | ||
+ | <note for="0:45:11">> | ||
+ | Guy Steele Jr. contributed to numerous programming languages, including Lisp [https://en.wikipedia.org/wiki/Guy_L._Steele_Jr]. | ||
+ | </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: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> | ||
Line 622: | Line 690: | ||
<subtitle id="0:45:38">We spend far too much time in our field worrying about what the objects are.</subtitle> | <subtitle id="0:45:38">We spend far too much time in our field worrying about what the objects are.</subtitle> | ||
+ | |||
+ | == Influences == | ||
<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:51">I need to move along. I have a bazillion prejudices.</subtitle> | <subtitle id="0:45:51">I need to move along. I have a bazillion prejudices.</subtitle> | ||
Line 632: | Line 702: | ||
<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:5">The beauty about those things was you could make a kind of a machine that was highly parallel.</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: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: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: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:32">I love Lisp.</subtitle> | + | <subtitle id="0:46:32">I love Lisp. Everybody should understand it.</subtitle> |
− | <subtitle id="0:46: | + | <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: | + | <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: | + | <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: | + | <subtitle id="0:46:58">An attempt to take Lisp and have something prettier, especially for kids.</subtitle> |
− | <subtitle id="0:47: | + | <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:47: | + | <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:47: | + | <subtitle id="0:47:16">I love what Engelbart did. A lot of spreadsheets. I loved HyperCard.</subtitle> |
− | <subtitle id="0:47: | + | <subtitle id="0:47:21">Suppose you could amalgamate all these wonderful things into a simple system that regular people can use.</subtitle> |
− | <note for="0:47: | + | <note for="0:47:31"> |
− | <slide for="0:47: | + | <slide for="0:47:31" name="OOPSLA2004-Exploratorium.png"/> |
+ | Exploratorium is a museum located in San Francisco, where visitors can try hands-on exhibits. Frank Oppenheimer is the founder. | ||
</note> | </note> | ||
− | <subtitle id="0:47: | + | <subtitle id="0:47:31">Now, let's talk about the why of what we're doing.</subtitle> |
− | <subtitle id="0:47: | + | <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: | + | <subtitle id="0:47:48">The world is not as it seems.</subtitle> |
− | <subtitle id="0:47: | + | <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: | + | <subtitle id="0:47:58">"There's a good chance that a child will find the exhibit that speaks to them clearly about this first important idea about science.</subtitle> |
− | <subtitle id="0:48: | + | <subtitle id="0:48:8">So he said 500 of them. I think if you're going to teach a course in this, you need 20 to 30 projects or so for each area to give the children the choice.</subtitle> |
+ | <note for="048:35"> | ||
+ | Even before you can hear it in this movie, the chat by backstage personnels was becoming audible. | ||
+ | </note> | ||
+ | <subtitle id="0:48:35">(Excuse me, am I interfering your conversation back here?) | ||
− | <subtitle id="0:48: | + | <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: | + | <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: | + | <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: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: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: | + | <subtitle id="0:49:31">But it was a completely real automobile.</subtitle> |
<subtitle id="0:49:35">A lot of what we're going to look at here in the next few minutes are sort of first-order ideas that might say some important things.</subtitle> | <subtitle id="0:49: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: | + | <note for="0:49:44"> |
− | <slide for="0:49: | + | <slide for="0:49:44" name="OOPSLA2004-influences.png"/> |
</note> | </note> | ||
− | <subtitle id="0:49: | + | <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: | + | <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: | + | <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> |
− | <note for="0:50: | + | == A Learning Environment: Control or Learning? == |
− | <slide for="0:50: | + | |
+ | <note for="0:50:16"> | ||
+ | <slide for="0:50:16" name="OOPSLA2004-ControlvLearning C.png"/> | ||
</note> | </note> | ||
− | <subtitle id="0:50: | + | <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:38">and that I haven't had enough training on it.</subtitle> | <subtitle id="0:50:38">and that I haven't had enough training on it.</subtitle> | ||
− | <subtitle id="0:50: | + | <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:51">I can find out the pencil and paper is fun.</subtitle> | ||
+ | |||
+ | == Flow, explained == | ||
− | |||
<note for="0:50:56"> | <note for="0:50:56"> | ||
− | <slide for="0: | + | <slide for="0:50:56" name="OOPSLA2004-FLOW.png"/> |
− | <slide for="0:52: | + | <slide for="0:52:04" name="OOPSLA2004-FLOW2.png"/> |
− | <slide for="0:52: | + | <slide for="0:52:15" name="OOPSLA2004-FLOW3.png"/> |
− | <slide for="0:52: | + | <slide for="0:52:24" name="OOPSLA2004-FLOW4.png"/> |
− | <slide for="0:52: | + | <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">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: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:51: | + | <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: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, | + | <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:41">But, if our abilities are greater than the challenge, we start getting bored.</subtitle> | <subtitle id="0:51:41">But, if our abilities are greater than the challenge, we start getting bored.</subtitle> | ||
− | <subtitle id="0:51: | + | <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:53">Hard to get to is this flow state where everything is just working.</subtitle> | <subtitle id="0:51:53">Hard to get to is this flow state where everything is just working.</subtitle> | ||
− | <subtitle id="0:52: | + | <subtitle id="0:52:00">We like to widen this flow state for beginners.</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:52: | + | <subtitle id="0:52:15">So, having undo in an environment is nice.</subtitle> |
− | <subtitle id="0:52: | + | <subtitle id="0:52:21">Most programming environments don't have much of an undo.</subtitle> |
− | <subtitle id="0:52: | + | <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:52: | + | <subtitle id="0:52:32">A good user interface basically deals with these things.</subtitle> |
− | <subtitle id="0:52: | + | <subtitle id="0:52:35">it provides more safety than most computer people think an ordinary person needs.</subtitle> |
− | <subtitle id="0:52: | + | <subtitle id="0:52:40">It provides more ways of attracting their attention than most of us think people need.</subtitle> |
− | + | == Introduction to Drive a Car == | |
<note for="0:52:50"> | <note for="0:52:50"> | ||
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: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: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:53: | + | <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:53: | + | <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: | + | <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: | + | <subtitle id="0:53:52">This is something that video game manufacturers really understand.</subtitle> |
− | <subtitle id="0: | + | <subtitle id="0:53:58">Why are those games so violent?</subtitle> |
− | <subtitle id="0:54: | + | <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: | + | <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: | + | <subtitle id="0:54:29">As I count it up, you can see the little car turning. </subtitle> |
− | <subtitle id="0:54: | + | <subtitle id="0:54:32">I've got a behavioral property here: "forward."</subtitle> |
− | <subtitle id="0: | + | <subtitle id="0:54:36">I've got another one called "turn by".</subtitle> |
− | <subtitle id="0: | + | <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: | + | <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: | + | <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: | + | <subtitle id="0:55:19">I'll call this guy "Car".</subtitle> |
− | <subtitle id="0:55: | + | <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: | + | <subtitle id="0:55:28">So I want to make a wheel here. Just draw one.</subtitle> |
− | <subtitle id="0:55: | + | <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: | + | <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: | + | <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:56: | + | <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:56:14">So it says "car turned by wheel's heading."</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:56: | + | <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:56: | + | <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:56: | + | <subtitle id="0:56:43">So there are many different kinds of things here that can be done.</subtitle> |
− | + | == Safe Meta Features in Etoys == | |
<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: | + | <subtitle id="0:56:47">So, having one kind of object. That's kind of weird.</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:53">I mean, here's a photograph which we can see has the same kind of feel here.</subtitle> | ||
− | <subtitle id="0:57: | + | <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:57: | + | <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:21">Think about the implications of this: it means that wherever I go out, for instance, what if I go over here.</subtitle> | ||
− | <note for="0:57: | + | <note for="0:57:30"> |
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: | + | <subtitle id="0:57:30">Well, the viewers got one of those things and so does this category.</subtitle> |
− | <note for="0:57: | + | <note for="0:57:38"> |
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: | + | <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: | + | <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:58 | + | <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. | ||
+ | </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:58: | + | <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: | + | <subtitle id="0:58:17">We look at various things you can see: "Oh, the thing is a collection."</subtitle> |
− | <subtitle id="0:58: | + | <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: | + | <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: | + | <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:58:47">We tried to think about what would be an interesting way of showing this idea of meta.</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:58:54"> | |
− | |||
− | <note for="0: | ||
Choose world useBluePrintCanvas: to change the look. | Choose world useBluePrintCanvas: to change the look. | ||
</note> | </note> | ||
− | <subtitle id="0: | + | <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: | + | <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: | + | <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: | + | <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: | + | <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: | + | <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> |
− | + | == The Springy Flag demo == | |
− | <subtitle id="0:59: | + | <subtitle id="0:59:50">If we could just go to the video 2, please, in the back.</subtitle> |
− | <subtitle id="0:59: | + | <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> |
<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: | + | <slide for="1:00:17" name="OOPSLA2004-Croquet1.png"/> |
− | <slide for="1:01: | + | <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 environment that we built called Croquet.</subtitle> | <subtitle id="1:0:17">Here, I am in a 3D environment that we built called Croquet.</subtitle> | ||
− | <subtitle id="1:0: | + | <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:0:26">squeakland.org, and this Croquet environment, this is all free software. Croquet environment is found on opencroquet.org.</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:0: | + | <subtitle id="1:0:40">So again, this is a completely constructible environment 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:0:47">But what we did was to do a kind of an interesting analogy to webpages.</subtitle> | ||
− | <subtitle id="1:0: | + | <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: | + | <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: | + | <subtitle id="1:1:18">All of these environments are buildable.</subtitle> |
− | <subtitle id="1: | + | <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: | + | <subtitle id="1:1:39">I kind of like bridges as an analogy here.</subtitle> |
− | <subtitle id="1: | + | <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: | + | <subtitle id="1:1:58">The first thing we want to look at is the little script for Masses.</subtitle> |
− | <subtitle id="1:2: | + | <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:2: | + | <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:2: | + | <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:2: | + | <subtitle id="1:2:35">Say ok. Let's do that.</subtitle> |
− | <subtitle id="1:2: | + | <subtitle id="1:2:41">This bridge structures is feeling gravity. You can see it coming into equilibrium.</subtitle> |
− | <subtitle id="1: | + | <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: | + | <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:3: | + | <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:3: | + | <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:3: | + | <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:3: | + | <subtitle id="1:3:40">Okay, now it's going to do some Tacoma Narrows stuff here.</subtitle> |
− | <subtitle id="1: | + | <subtitle id="1:3:51">I need sound. I noticed the sound wasn't working. Thank you.</subtitle> |
− | <subtitle id="1:4: | + | <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:4: | + | <subtitle id="1:4:26">This has this kind of same aspect. That gave us an interesting idea here.</subtitle> |
− | <subtitle id="1:5: | + | <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:5:17">we're not living up to what our duty is of enjoying the stuff ourselves.</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:5: | + | <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:5: | + | <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:5: | + | <subtitle id="1:5:42">Thank you very much.</subtitle> |
− | <subtitle id="1:6:26">Thank you, Alan for a fantastic talk, and we have a token of our affection here.</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: | + | <subtitle id="1:6:34">That concludes our Turing Award Lecture and you're welcome now to go get dinner, and then, afterwards at 8 o'clock, we'll be beginning the last thing on this evenings agenda: GOF tenth anniversary reunion. You are dismissed.</subtitle> |
Latest revision as of 20:48, 23 December 2017
Contents
- 1 Introduction by John Vlissides
- 2 Introduction and Context: Education for High School and First Year College
- 3 Don Knuth Quote on New Mathematics for Computing
- 4 Research Accomplishment within the Community
- 5 Science and Engineering of Computing: Pyramids vs. Arches vs. Cathedrals
- 6 A Simple Model of Motivations: Inner- vs. outer-motivated. instrumental vs. intrinsic reasoners
- 7 Doug Engelbart and NLS
- 8 Temptation of Complexity
- 9 PARC
- 10 The idea of Kernels to build Larger Systems
- 11 Relationship between Science, Math, Computing and Systems in Introductory Courses
- 12 Sketchpad
- 13 Imprinting of Good Ideas
- 14 Influences
- 15 A Learning Environment: Control or Learning?
- 16 Flow, explained
- 17 Introduction to Drive a Car
- 18 Safe Meta Features in Etoys
- 19 The Springy Flag demo
Introduction by John Vlissides
Dr. John Vlissides is the conference chair of OOPSLA 2004.
Introduction and Context: Education for High School and First Year College
Don Knuth Quote on New Mathematics for Computing
Donald Knuth is a famous computer scientist. Wikipedia: [1].
Research Accomplishment within the Community
Daniel Ingalls on Wikipedia: [2]
Science and Engineering of Computing: Pyramids vs. Arches vs. Cathedrals
Alan Perlis [3] was a leader of the early computer science field.
The report from the Software Engineering Conference in '68 is available online. [4]
The venue of the talk was Vancouver, Canada. Alan is referring to Seattle, where Microsoft is located.
One of the books is "Building the Empire State", edited by Carol Willis. [5]. See also another talk by Alan on this site: [6].
A Simple Model of Motivations: Inner- vs. outer-motivated. instrumental vs. intrinsic reasoners
The system was StarSqueak, which is inspired by Resnick's StarLogo. A book by Resnick explains the non-linearity of the simulation [7].
Doug Engelbart and NLS
Doug Enbelbart on the Engelbart Institute site: [8].
Temptation of Complexity
The slide is in the style of the Joy of Cooking ["http://www.thejoykitchen.com/"].
PARC
Butler Lampson on Wikipedia: [9]
Charles Thacker on Wikipedia: [10].
Robert Metcalfe and David Boggs designed Ethernet and started the 3COM compnay [11]
Gary Starkweather on Wikipedia: [12]
The idea of Kernels to build Larger Systems
Books shown are "Molecular Biology of the Gene" by James Watson, "Relativity Visualized" by Lewis Carroll Epstein, and the US Constitution.
Relationship between Science, Math, Computing and Systems in Introductory Courses
Konrad Lorenz was an ethologist [13]. He is famous for books such as Solomon's Ring.
Sketchpad
Alan shows the Sketchpad movie embedded in the slide. There are numerous instances of the movie online. A digital version of his thesis is also available: [14].
Imprinting of Good Ideas
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.
Guy Steele Jr. contributed to numerous programming languages, including Lisp [17].
Influences
Burroughs computers are designed by Bob Barton, and designed for executing a higher-level language directly and safely. [18]
Exploratorium is a museum located in San Francisco, where visitors can try hands-on exhibits. Frank Oppenheimer is the founder.
Even before you can hear it in this movie, the chat by backstage personnels was becoming audible.
Alan mentioned that the farm he grew up had one and that was kept operational by fixing it by themselves.
A Learning Environment: Control or Learning?
Flow, explained
There is a book by Csikszentmihalyi titled "Flow" [21]
Introduction to Drive a Car
Alan is drawing a car, explain the viewer and some tiles. There are movies of a typical Squeak Etoys demo available elsewhere.
Safe Meta Features in Etoys
Open a viewer on the scriptor and rotate them.
Open a viewer on the pane in viewer and rotate them.
Open a viewer on the world, and show different panes.
Nathanael Schärli et al. developed a behavior composition scheme called Traits: [22]. The main work was done when Nathanael was interning at Alan's group at Disney Walt Imagineering R&D. The scheme was later adapted to various languages.
Choose world useBluePrintCanvas: to change the look.
The Springy Flag demo
Alan switched to a Croquet Image.