Vector, the Journal of the British APL Association
Kenneth E. Iverson<br>1920-2004
Current issue
Vol.25 No.3
Articles in press
Full index
Volumes
25
24
23
22
21
20
19
18
17
16
15
14
13
12
11
10
home
advertise
archive
character-mapped code
contribute
in press
team
subscribe
about us
blog
books
community
committee
consultants
events
latest jobs
sponsors
contact
fonts
interpreters
video
© 1984-2012
British APL Association
All rights reserved.
Archive articles posted online on request: ask the<br>archivist.
archive/22/3
Volume 22, No.3
Expository Programming
by Paul Berry
Well, quite simply, meeting Ken Iverson<br>changed my life. Id been a psychologist, but<br>after I met Ken and Adin Falkoff in 1966, I knew<br>what Id rather do, and Ive worked in<br>computing ever since, though I think Ive<br>retained a psychologists sympathy for the<br>human user.
When I joined IBM, the company was<br>enthusiastic about the prospects for using<br>computers in primary and secondary schools.<br>Iverson too believed that the language he was<br>devising could play a huge role in education;<br>but the vision Ken had was quite different from<br>what was imagined by most of IBM and by<br>most teachers and administrators in the ed biz. Iverson firmly believed that his<br>contribution, and the contribution of his APL language, was notation; a way of<br>writing clearly about mathematics and about mathematical models. Ken<br>conceived of APL first first as a medium for humans to read, write and<br>understand; a language for papers or blackboards, or the backs of envelopes. And<br>then, in 1966, Iversons language became directly executable by machine. Thanks,<br>Larry.
With it, students would be able to read, write or discuss an algorithm and then,<br>with minimal effort, type it at a machine, see its output, trace its execution,<br>experiment with alternative arguments, try out alternative definitions.There was<br>an office of internal education at Yorktown Heights, which routinely asked<br>instructors to describe what they proposed to teach by referring to a list of<br>identified topics and skills. But when I was asked to teach there, they didnt seem<br>to have anything that corresponded to Kens vision of programming. So we added<br>to the list a description of didactic programming. It was probably not the best<br>name, but thats what we called it. Didactic programming is the art of writing a<br>program that is both executable by machine, and makes clear to a human reader<br>what it does and how it works.*
Now this was altogether different from the thrust of the then burgeoning<br>movement of computer-assisted instruction. CAI, of which there was a large group at IBM then, sought to develop programs that would run autonomously,<br>and that by their behaviour, would give the students experiences that would<br>cause them to learn. The student was not supposed to run the program, and<br>especially not supposed to look inside to see what it did or how it did it. To<br>describe the quite different way he thought computers should be used, Ken<br>coined the phrase open use of the computer. One of the papers we wrote at that<br>time was called Using the computer to compute, which youd think was a silly<br>title, except that it was not what everybody in CAI was doing.
When IBM Italy sent us three researchers to Yorktown Heights, to study CAI, Ken<br>successfully hijacked their mission and they became our collaborators not in CAI,<br>but in what they came to call luso aperto del elaboratore, or something like that.<br>(Forgive my Italian.)
Ken made a great many appearances at schools and universities, to explain how<br>he thought students could and should make use of computers, and in particular,<br>how they could start right away, using APL. At some of these guest experiences, I<br>got to serve as his assistant, and I felt a bit like Robin getting to carry Batmans<br>bag. But listening to Ken give those demonstrations, I marvelled at the<br>spontaneous and natural way he seemed to talk. Especially I loved the way he<br>deftly handled questions from the audience. He seemed endlessly able to respond<br>to their queries with neat examples and appropriate jokes. Only after I had<br>listened to these presentations many times, did I begin to catch on to how he did<br>this. He carried around in his head a huge fund of examples, jokes, aphorisms,<br>stories, but he kept them in reserve. He didnt offer them. He waited until a<br>listeners question happened to set up one of them, and then he sprang it forth. It<br>sounded just like something hed thought of that instant in response to what the<br>questioner had asked.
Well, people werent going to believe it was possible to write a program whose<br>listing is itself a readable explanation until there were some examples of the genre.<br>So, when Iverson was made an IBM Fellow, IBM provided him funding to work<br>on projects of his own choosing. Instead of building a staff of his own, he used his<br>budget to bring in visiting teachers and professors from a range of disciplines. The<br>idea was to...