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