What was it like to program an early digital computer? [Woven Memories] wanted to know and wants you to know, too. [Maurice Wilkes] and his team wrote a book about their EDSAC and the 18 instructions that it used. These days, you can even run an EDSAC program on a number of emulators.
It is hard to realize how things we take entirely for granted had to be invented by [Wilkes] and his colleagues. The book, “The Preparation of Programs for an Electronic Digital Computers” has, among other things, the first recorded use of a software library and the first API. Even the subroutine needed inventing by [Wilkes’] student [David Wheeler], which was known for a while as the “Wheeler Jump.”
Like many things in old computers, the Wheeler Jump required code to modify itself. Even indexing modes were often implemented by changing an address inside the program.
While we frown on techniques like this today, you have to start somewhere. We are big fans of EDSAC and [Dr. Wilkes] had a long and distinguished career long after EDSAC, too. The original plans for EINIAC led to EDSAC, EDVAC, and a slew of other early machines. You can see a video of the machine with an introduction by [Wilkes] below.