The IBM 650: An appreciation from the field (1986) [pdf]
7 comments
·March 3, 2025MarkusWandel
zabzonk
It was a joy. I remember in the late 1970s, after reading two text books I figured out how to write a little program in Z80 assembler (and how to use the assembler), and shortly after how to read and debug the machine code the assembler produced (and a bit later how to use the very spooky linker).
Nothing has quite got to me as much since. I thought I was Master Of The Universe!
beng-nl
Maybe the modern equivalent is an fpga? It is a flawed analogy but it is an environment where you program on the bare metal and there are limited resources and you may have to make every one count.
oliviergg
Very interesting read. I think you can have the same nostalgia for your first computer/langage in each generation ! I love the part where he describes the trick to reverse the 10 numbers 0123456789 with a program that fits on a single card.
yodon
>Written by Donald Knuth
A discussion of the joy he found programming a machine with 2000 words of memory and 34 instructions.
fipar
I always loved his dedication of TAOCP to this computer, and this article is a great way to learn more about that particular relationship (of him with the computer).
PaulHoule
Notably TAOCP used the MIX fantasy assembly language [1] which fits his idea that beginners could take to assembly more easily than HLLs. Of course in 1967 HLLs were pretty immature.
Basically the joy of programming on the bare metal - just a lot more metal in those days. Those of us decades younger got first experience with, say, a Commodore PET. Which despite running a programming language was still pretty bare metal. You poked at this memory location, and that happened. If it didn't happen fast enough, learn some machine language.
I really don't know what the modern day equivalent is - of a machine that is so limited that you can really understand it completely, and develop programming skills by doing wizardly things with the limited resources.