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.
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.
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