When I first met Niklaus Wirth
In 1965 Stanford University formed the first Computer Science Department west of the Mississippi, chaired by Prof. George Forsythe. [1]
I applied for admission in the spring of 1966. To make sure that I was more than just a name on paper when my application was considered, I decided to visit Stanford and talk to some of the professors. A friend helped me set up some interviews. I remember only one of them: my interview with Prof. Niklaus Wirth. [2]
We started with some inconsequential chit-chat [3]. But then Wirth asked me how much I knew about Algol 60. Since my previous experience with Algol was limited to one unsuccessful attempt to use Algol 58, and one lecture by Peter Naur on Algol 60, this did not seem to be a good time to bluff. So I admitted that I knew very little about Algol, but added that I'd been using FORTRAN II for almost a year, and understood that they were very similar.
It was immediately apparent that this was the wrong thing to have said. Wirth practically spluttered that there was no resemblance between FORTRAN and Algol 60. FORTRAN was a cobbled-together collection of features, and Algol 60 was a formally-defined language that could be made the object of scientific study. [4] I don't recall that we managed to communicate anything else of importance that day.
Fortunately, this interview didn't prevent me from being accepted by the department (though I did not get Wirth as my advisor). As a graduate student I learned that the "Revised Report on the Algorithmic Language Algol 60" was practically holy writ, to be studied deeply and internalized; memorized, if possible. [5] And I did come to understand why Wirth felt the languages were so different. To quote Sir Charles Antony Richard (Tony) Hoare, Algol 60 was "a language so far ahead of its time that it was not only an improvement on its predecessors but also on nearly all its successors."
Notes:
[1] There were already faculty and students specializing in computing within the Mathematics Department, but forming a separate department was a watershed event, for Stanford and for the discipline.
[2] This was before Wirth had earned his reputation as the world's only professional programming language designer.* He had just published a pair of papers on Euler, but PL360, Algol W, Pascal, Modula, and Oberon were all in the future.
*Wirth not only designed and implemented several important and influential languages, he kept learning from experience (his own and others), and repeatedly published critiques of his own languages, something that amateurs seldom bother to do.
[3] Which failed to uncover that each of us had started his programming career using the Bendix G-15D computer.
[4] "The report was a breakthrough in establishing programming languages as objects of scientific study." -- 2005 Turing Award Citation.
[5] Bill McKeeman, one of Stanford's first couple of Ph.D.s in Computer Science (the other was Raj Reddy), was my first advisor at Stanford. He told me that to satisfy his foreign language requirement he had been asked to translate a portion of the German version of the Report to English--and that he had relied much more on his knowledge of the Report than on his knowledge of German. Alas, I was given a German statistics journal to translate for my test.
I applied for admission in the spring of 1966. To make sure that I was more than just a name on paper when my application was considered, I decided to visit Stanford and talk to some of the professors. A friend helped me set up some interviews. I remember only one of them: my interview with Prof. Niklaus Wirth. [2]
We started with some inconsequential chit-chat [3]. But then Wirth asked me how much I knew about Algol 60. Since my previous experience with Algol was limited to one unsuccessful attempt to use Algol 58, and one lecture by Peter Naur on Algol 60, this did not seem to be a good time to bluff. So I admitted that I knew very little about Algol, but added that I'd been using FORTRAN II for almost a year, and understood that they were very similar.
It was immediately apparent that this was the wrong thing to have said. Wirth practically spluttered that there was no resemblance between FORTRAN and Algol 60. FORTRAN was a cobbled-together collection of features, and Algol 60 was a formally-defined language that could be made the object of scientific study. [4] I don't recall that we managed to communicate anything else of importance that day.
Fortunately, this interview didn't prevent me from being accepted by the department (though I did not get Wirth as my advisor). As a graduate student I learned that the "Revised Report on the Algorithmic Language Algol 60" was practically holy writ, to be studied deeply and internalized; memorized, if possible. [5] And I did come to understand why Wirth felt the languages were so different. To quote Sir Charles Antony Richard (Tony) Hoare, Algol 60 was "a language so far ahead of its time that it was not only an improvement on its predecessors but also on nearly all its successors."
Notes:
[1] There were already faculty and students specializing in computing within the Mathematics Department, but forming a separate department was a watershed event, for Stanford and for the discipline.
[2] This was before Wirth had earned his reputation as the world's only professional programming language designer.* He had just published a pair of papers on Euler, but PL360, Algol W, Pascal, Modula, and Oberon were all in the future.
*Wirth not only designed and implemented several important and influential languages, he kept learning from experience (his own and others), and repeatedly published critiques of his own languages, something that amateurs seldom bother to do.
[3] Which failed to uncover that each of us had started his programming career using the Bendix G-15D computer.
[4] "The report was a breakthrough in establishing programming languages as objects of scientific study." -- 2005 Turing Award Citation.
[5] Bill McKeeman, one of Stanford's first couple of Ph.D.s in Computer Science (the other was Raj Reddy), was my first advisor at Stanford. He told me that to satisfy his foreign language requirement he had been asked to translate a portion of the German version of the Report to English--and that he had relied much more on his knowledge of the Report than on his knowledge of German. Alas, I was given a German statistics journal to translate for my test.
2 Comments:
I was pretty appalled in the mid 80's when I started getting new grads at BNR who could not define the phrase "Algol scope rules". For one thing, it made it hard to explain why the full version Algol scoping was not a totally good idea.
Henry,
Although your specific example has become dated at this point, I think it's an illustration of a larger problem that has gotten worse in recent years. Joel Spolsky talks about The Perils of JavaSchools. There's a tendency to mistake learning to write certain common kinds of applications in current popular programming languages for a more general knowledge. In a meta sense, it is mistaking learning how for learning why. Or to be more charitable to the students, perhaps simply not knowing to ask the questions they haven't learned the answers to.
Post a Comment
<< The Way It Was home