Knuth's tribute to his first love; a delightful article which I've read multiple times.<p>One thing that he wrote in this 1986 article about the 1950s has remained true for several decades since:<p>> <i>During my student days I had never heard of the 701, and this, I think, leads to an important point: The IBM 650 was the first computer to be manufactured in really large quantities. Therefore the number of people in the world who knew about programming increased by an order of magnitude. Most of the world’s programmers at that particular time knew only about the 650, and were unaware of the already extensive history of computer developments in other countries and on other machines. We can still see this phenomenon occurring today, as the number of programmers continues to grow rapidly.</i><p>(BTW I wish someone would write an IBM 650 emulator on which we could try out the programs like his "Number Perverter Demonstration Card" in the appendix. Some of Knuth's early programs are also preserved and it would be wonderful to see them running.)
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.<p>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.
I remember having to write an IBM 650 emulator using IBM 360 assembler language in 1978/1979 as an assignment at the University of Iowa. We had to account for the drum rotation speed and where instructions were placed on the drum for efficiency.
At that time, they did not yet offer a degree in computer science, so my major was mathematics with a minor in computer science. I took every available computer science class and had to take a “filler class” in COBOL from the college of Business.
I went onto my first job after graduating in 1970 to write Assembler language code for one of the first online transaction processing systems in CICS for a hospital patient registration system. It was an amazing time and experience.
Tangentially related, one of the coolest books I've ever read is called "the dream machine" -- it goes through a ton of the detail around opinions on projects like the IBM 650 and others at the time... Neat stuff.<p><a href="https://press.stripe.com/the-dream-machine" rel="nofollow">https://press.stripe.com/the-dream-machine</a>
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.