9:59:59.000,9:59:59.000 Robert Lefkowitz, comes from the USA, from New York. 9:59:59.000,9:59:59.000 He worked many years in IT (information technology) 9:59:59.000,9:59:59.000 and he has worked in telecommunications in Wall Street 9:59:59.000,9:59:59.000 and a few other places he's worked in 9:59:59.000,9:59:59.000 At present he's the Chief Technical Officer and co-founder in Sharewave 9:59:59.000,9:59:59.000 He's also writing a book that explores universal programming literacy and open source 9:59:59.000,9:59:59.000 Which is the present interest in his talk and the main reason why he's here 9:59:59.000,9:59:59.000 to share with us some of his knowledge and ideas 9:59:59.000,9:59:59.000 about open source and universal programming literacy 9:59:59.000,9:59:59.000 Talking about this in particular helped him figure out a way to continue with his book 9:59:59.000,9:59:59.000 so if anyone has ideas or suggestions you can contact him eventually 9:59:59.000,9:59:59.000 So, let's welcome now Robert "ℝ∅ⅯⅬ" Lefkowitz with a warm round of applause 9:59:59.000,9:59:59.000 [clapping] 9:59:59.000,9:59:59.000 thank you 9:59:59.000,9:59:59.000 I'm very excited to be here 9:59:59.000,9:59:59.000 and I apologize that I cannot speak in Spanish 9:59:59.000,9:59:59.000 but I was invited to speak, I did not have time to learn Spanish in time for this 9:59:59.000,9:59:59.000 This is a continuation or a reprise of a talk that I gave in PyCon in 2007 in the US 9:59:59.000,9:59:59.000 and I heard that some of you have heard this before. So, indulge me. 9:59:59.000,9:59:59.000 I'm from New York, 9:59:59.000,9:59:59.000 New Yorkers have a reputation for being fast talkers 9:59:59.000,9:59:59.000 so I'm trying to slow down. 9:59:59.000,9:59:59.000 But if I get excited, which I may very well get excited, then I'll start speeding up and I'll be going much faster than I us... 9:59:59.000,9:59:59.000 then if somebody would... [waves his arms] 9:59:59.000,9:59:59.000 remind me that I should slow down then I would appreciate it. 9:59:59.000,9:59:59.000 I'm not a python... eh... 9:59:59.000,9:59:59.000 I'm not a pythonista. 9:59:59.000,9:59:59.000 So, I assume that the reason that I was invited here, my contribution to the python community is that 9:59:59.000,9:59:59.000 when my son learned to program in school he learned to program in Java because they taught in Java... 9:59:59.000,9:59:59.000 and I convinced him to learn Python instead. 9:59:59.000,9:59:59.000 And then he went on to write Twisted. [clapping] 9:59:59.000,9:59:59.000 And so, Twisted is my first grandchild. [laughter] 9:59:59.000,9:59:59.000 But other than that, I have... 9:59:59.000,9:59:59.000 my interest, my involvement in Python is certainly nowhere near as much as my son's. 9:59:59.000,9:59:59.000 I'm interested in Rhetoric 9:59:59.000,9:59:59.000 That's why I'm speaking! 9:59:59.000,9:59:59.000 And my thesis is that... 9:59:59.000,9:59:59.000 Rhetoric and Programming are the same thing 9:59:59.000,9:59:59.000 or to put it another way, the... 9:59:59.000,9:59:59.000 that the 21st century extension of the classical art of Rhetoric we call Programming 9:59:59.000,9:59:59.000 and that's what I wanna talk about. 9:59:59.000,9:59:59.000 The reason to talk about it, is that "if" programming is literacy 9:59:59.000,9:59:59.000 and literacy is programming, 9:59:59.000,9:59:59.000 then if we have 2000 years of history, or maybe more with literacy and literacy education 9:59:59.000,9:59:59.000 and so there might be something that we can learn 9:59:59.000,9:59:59.000 for what we did right or what we did wrong 9:59:59.000,9:59:59.000 But of course they might be different than literacy 9:59:59.000,9:59:59.000 and we should understand those differences if we can, as well. 9:59:59.000,9:59:59.000 This is not a new idea. This is not... 9:59:59.000,9:59:59.000 my idea. 9:59:59.000,9:59:59.000 It was a very popular idea in the 80s 9:59:59.000,9:59:59.000 Now, one of the things... 9:59:59.000,9:59:59.000 because I only have an hour and a half for this talk... 9:59:59.000,9:59:59.000 or two... 9:59:59.000,9:59:59.000 [laughter] 9:59:59.000,9:59:59.000 And it would be not enough time to talk about everything that I was to talk about... 9:59:59.000,9:59:59.000 So I'm in the habit of providing book references, 9:59:59.000,9:59:59.000 for people that are interested in particular topics. 9:59:59.000,9:59:59.000 So I have many of my slides with book references. 9:59:59.000,9:59:59.000 You don't have to copy them all down, 9:59:59.000,9:59:59.000 if you email me I will surely send you the slides and the bibliography 9:59:59.000,9:59:59.000 It's curious, you will notice, that most of the books that I'm quoting here... 9:59:59.000,9:59:59.000 were written between 1984 and 1986 for some reason. 9:59:59.000,9:59:59.000 Donald Knuth gave a name to this thing that I'm talking about 9:59:59.000,9:59:59.000 which was "Literate Programming". 9:59:59.000,9:59:59.000 And the way he phrased it was that Programming... 9:59:59.000,9:59:59.000 "A Programmer could be regarded as an essayist, 9:59:59.000,9:59:59.000 whose main concern is with exposition and excellence of style." 9:59:59.000,9:59:59.000 And he invented a system, which he called WEB. 9:59:59.000,9:59:59.000 And the reason he called it WEB, actually is pretty funny. 9:59:59.000,9:59:59.000 It was, he wrote: 9:59:59.000,9:59:59.000 "It was the only three letter word in the English language that I could find, 9:59:59.000,9:59:59.000 that wasn't used for something in computers." 9:59:59.000,9:59:59.000 So WEB was this system where if you wrote a program, 9:59:59.000,9:59:59.000 it would either run through a compiler, 9:59:59.000,9:59:59.000 or, it could be published as a paper in computer science. 9:59:59.000,9:59:59.000 So the idea that the text was both a program and an essay. 9:59:59.000,9:59:59.000 That was the WEB system. 9:59:59.000,9:59:59.000 And Knuth wasn't the only one. 9:59:59.000,9:59:59.000 In 1985, Abelson and Sussman published their textbook on computer science, and 9:59:59.000,9:59:59.000 in the introduction he starts with: 9:59:59.000,9:59:59.000 "First we want to establish the idea that a computer language... 9:59:59.000,9:59:59.000 is not just a way to get a computer to perform operations, 9:59:59.000,9:59:59.000 but rather that it is a novel medium for expressing ideas about methodology. 9:59:59.000,9:59:59.000 Thus, programs must be written for people to read. And only incidentally for machines to execute." 9:59:59.000,9:59:59.000 So here we have both the East coast's and the West coast's of the United States professors, saying: 9:59:59.000,9:59:59.000 "Nah, programs are the way people talk to each other about algorithms. 9:59:59.000,9:59:59.000 And the computers have nothing to do with it." 9:59:59.000,9:59:59.000 And it was right about this time, in 1984 that Richard Stallman writes the GNU manifest. 9:59:59.000,9:59:59.000 What does he say about that? 9:59:59.000,9:59:59.000 "Well, you need access to the source, because it's a requisite for people to be able to read the software." 9:59:59.000,9:59:59.000 It's all part of that same feeling that in the 80s we had this idea that... 9:59:59.000,9:59:59.000 software was about people and not about machines. 9:59:59.000,9:59:59.000 In fact, this is a slide from a presentation Guido van Rossum gave in 1999, 9:59:59.000,9:59:59.000 in which he was talking about his CP4E initiative. "Computer Programming for Everybody", 9:59:59.000,9:59:59.000 in which he was going to teach everybody how to program. 9:59:59.000,9:59:59.000 The CP4E project is dormant, according to Wikipedia. 9:59:59.000,9:59:59.000 So, what happened? 9:59:59.000,9:59:59.000 In the 1980s every book that you picked up about computer science... 9:59:59.000,9:59:59.000 talks about how it's all about people, it's not about machines. 9:59:59.000,9:59:59.000 And today it's much more about machines. 9:59:59.000,9:59:59.000 And a little bit about people. 9:59:59.000,9:59:59.000 So, I want to understand... 9:59:59.000,9:59:59.000 I wanna bring back actually to the CP4E idea. 9:59:59.000,9:59:59.000 That everybody can program. 9:59:59.000,9:59:59.000 Because we teach everybody how to read! 9:59:59.000,9:59:59.000 And if it's about reading... 9:59:59.000,9:59:59.000 then we should understand the history of literacy. 9:59:59.000,9:59:59.000 So I'm going to take a "small" 40 minute diversion to talk about the history of literacy. 9:59:59.000,9:59:59.000 But because this is a programming crowd... 9:59:59.000,9:59:59.000 I will then bring it back to programming and to talk about programming languages of the future, 9:59:59.000,9:59:59.000 assuming that we have a sort of literate view of programming once again. 9:59:59.000,9:59:59.000 My favorite book on Rhetoric is written by Sister Miriam Joseph and the first edition was published in 1938. 9:59:59.000,9:59:59.000 And Sister... 9:59:59.000,9:59:59.000 This book is about the Trivium, so... 9:59:59.000,9:59:59.000 the curriculum in the Middle Ages, they taught three things to everybody: 9:59:59.000,9:59:59.000 They taught Logic, 9:59:59.000,9:59:59.000 Grammar, Logic and Rhetoric. 9:59:59.000,9:59:59.000 Rhetoric being the most advanced of the three. 9:59:59.000,9:59:59.000 Since it was three things, it was called the Trivium, 9:59:59.000,9:59:59.000 and this is where we get our english word "Trivial", 9:59:59.000,9:59:59.000 which means "something anybody knows", 9:59:59.000,9:59:59.000 because in the beginning, it was the university course of these three things, but... 9:59:59.000,9:59:59.000 eventually they taught it to everybody, and the thing that everybody knew was Trivial. 9:59:59.000,9:59:59.000 Here's the definition: 9:59:59.000,9:59:59.000 "Logic is concerned with the thing as it is known. 9:59:59.000,9:59:59.000 Grammar with the thing as it is symbolized. 9:59:59.000,9:59:59.000 And Rhetoric is concerned with the thing as it is communicated." 9:59:59.000,9:59:59.000 And this was the sentence that made me think: "She's talking about programming!" 9:59:59.000,9:59:59.000 If rhetoric is the art of communicating through symbols ideas about reality, 9:59:59.000,9:59:59.000 how is that different than programming? 9:59:59.000,9:59:59.000 Programming is in fact communicating ideas about reality to machines. 9:59:59.000,9:59:59.000 And other people. 9:59:59.000,9:59:59.000 So, rhetoric is the Master Art. It is programming. 9:59:59.000,9:59:59.000 When we talk to machines, we are using the rhetoric of the machine. 9:59:59.000,9:59:59.000 So, this idea of language and literacy that I... 9:59:59.000,9:59:59.000 not only infuses the... 9:59:59.000,9:59:59.000 programmers of the 80s, but the philosophers of the 60s and the 40s. 9:59:59.000,9:59:59.000 A famous collection of essays which is called "The Linguistic Turn", came out in 1967, 9:59:59.000,9:59:59.000 which had a group of essays from philosophers through the 30s and 40s. 9:59:59.000,9:59:59.000 And my favorite out of those is Bertrand Russell. 9:59:59.000,9:59:59.000 Is quoted to say: 9:59:59.000,9:59:59.000 that "by means of the study of syntax, 9:59:59.000,9:59:59.000 we can come to a considerable knowledge concerning the structure of the world." 9:59:59.000,9:59:59.000 Which I think a programmer would appreciate. 9:59:59.000,9:59:59.000 So, if rhetoric (or programming) is communicating ideas about reality to people and machines, 9:59:59.000,9:59:59.000 then we have a bit of a duality. 9:59:59.000,9:59:59.000 So the literacy part is communicating ideas to people, 9:59:59.000,9:59:59.000 and the Engineering part is communicating ideas to machines. 9:59:59.000,9:59:59.000 And that may be different. 9:59:59.000,9:59:59.000 That may be why we isolate back and forth between... 9:59:59.000,9:59:59.000 thinking of programming as something we do between people, 9:59:59.000,9:59:59.000 and thinking of programming as sort of a mechanical art that we use to make machines... 9:59:59.000,9:59:59.000 do the things that we want them to do. 9:59:59.000,9:59:59.000 It's because when you write a program you are talking to two classes of beings. 9:59:59.000,9:59:59.000 So in 1986 in a study of literacy, Havelock discovers a general pattern of literacy, 9:59:59.000,9:59:59.000 which she writes about.