Expository Programming

tosh1 pts0 comments

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. I’d been a psychologist, but<br>after I met Ken and Adin Falkoff in 1966, I knew<br>what I’d rather do, and I’ve worked in<br>computing ever since, though I think I’ve<br>retained a psychologist’s 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, Iverson’s 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 didn’t seem<br>to have anything that corresponded to Ken’s vision of programming. So we added<br>to the list a description of “didactic programming”. It was probably not the best<br>name, but that’s 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 you’d 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 l‘uso 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 Batman’s<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 didn’t offer them. He waited until a<br>listener’s question happened to set up one of them, and then he sprang it forth. It<br>sounded just like something he’d thought of that instant in response to what the<br>questioner had asked.

Well, people weren’t 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...

iverson programming language from archive quite

Related Articles