my first program
taught me a lot about
the errors that i was
going to be making
in the future, and also
about how to find
errors. that’s sort
of the story of my
life, making errors
and trying to recover
from them. i try to
get things correct.
i probably obsess
about not making too
many mistakes.

algebraic formula on cards and feed the cards into the machine. The lights spin around for a few seconds and then out come machine language instructions that set X1 equal to X2 + X4. Automatic programming coming out of an algebraic formula! Well, this blew my mind. I couldn’t understand how it was possible to do this miracle. I could understand how to write a program to factor numbers, but I couldn’t understand how to write a program that would convert algebra into machine instructions.

 

a mathematical problem, I translate it into formulas, and then the formulas are the reality.

he discovers computers, and
how hard programming is.

I wrote my first program for the IBM 650 [a vacuum tube magnetic drum computer from the 1950s], probably in the spring of my freshman year, and debugged it at night. The first time I wrote the program, to find the prime factors of a number, it was about 60 instructions long in machine language. They were almost all wrong. When I finished, it was about 120 or 130 instructions. I made more errors in this program than there were lines of code!

My first program taught me a lot about the errors that I was going to be making in the future, and also about how to find errors. That’s sort of the story of my life, making errors and trying to recover from them. I try to get things correct. I probably obsess about not making too many mistakes.

it hadn’t yet occurred to him
that the computer was a general
symbol-manipulating device?

No. That occurred to Lady [Ada] Lovelace, but it didn’t occur to me. I’m slow to pick up on these things, but then I persevere.

I got hold of the source code for IT. I went through every line of that program. During the summer we typically had a family get-together on a beach on Lake Erie where we spent time playing cards and playing tennis. But that summer, I spent most of the time going through this listing, trying to find out the miracle of how IT worked. Okay, it wasn’t impossible after all. In fact, I thought of better ways to do it than were in that program.

The code, once I saw how it happened, was inspiring to me. Also, the discipline of reading other people’s programs was something good to learn early. Throughout my life I’ve had a love of reading source materials—reading something that pioneers had written and trying to understand their thought processes, especially when they’re solving a problem I don’t know how to solve. This is the best way for me to get my own brain past the stumbling blocks. At Case I remember looking at papers that [Pierre de] Fermat had written in Latin in the 17th century, in order to understand how that great number theorist approached problems.

scholarship—reading source material. I was a complete failure at passing this on to the people that I worked with the most closely.

 

at case he learns about early compilers For the IT (“Internal Translator”) program for the 650 you would punch an

But it’s been hard to communicate the love of reading historical programs. I would say that’s my major disappointment with my teaching career. I was not able to get across to any of my students this love for that kind of

he graduates from case and becomes a professional compiler writer while traveling to the california institute of technology for graduate school. I had learned about the Burroughs 205 machine language, and it was kind of appealing to me. So I made my own

References:

Archives