Donald Knuth's appreciation of the IBM 650 (from 1986)

A nice article, in which Knuth talks about learning to program, staying up late, and tricking the audience by cheating in his software. But also about learning how to write excellent software.

I suppose it was natural for a person like me to fall in love with his first computer. But there was something special about the IBM 650, something that has provided the inspiration for much of my life’s work. Somehow this machine was powerful in spite of its severe limitations. Somehow it was friendly in spite of its primitive man-machine interface.

I had just turned 19…

About the trickery - resolved with a better trick!

One of the unsolved problems was to take the 10-digit number and to reverse its digits… But one day I made a demonstration: I read in a card, then dialed the number 0123456789 on the console, and started the machine. Sure enough, it stopped, displaying the number 9876543210. Everybody applauded. I didn’t explain until later that my card would display the number 9876543210 regardless of what number appeared on the console switches.

This article about the 650 has turned out to be largely autobiographical. The fact is, it’s impossible for me to write about that wonderful machine without writing about myself. We were very close.

Surely I wouldn’t recommend that today’s software be produced as we did the job then; we would never advance very far past the rudimentary levels achieved in those days, if we remained rooted in that methodology. But growing up with the 650 gave us valuable intuitions about what is easy for a machine to do and what is hard. It was a great machine on which to learn about machines. We had a machine organization that was rudimentary but pleasant to use; and we had program masterpieces like the Bell interpreter and Poley’s assembler, as examples of excellent style.

Image cropped from IBM’s page on the 650:

Announced in 1953, the IBM 650 Magnetic Drum Data Processing Machine was the world’s first mass-produced computer

via HN

2 Likes

There’s a wonderful programming manual on bitsavers - or, at least, a programming manual with a wonderful cover: