I have been looking into the history of programming, and everybody and their grandmothers begin the subject with a claim more or less similar to the following:

At first, programmers used machine code. Later, there were assemblers. Then, pseudo code, and finally Fortran came.

With some Google-fu I can very easily find examples of punch cards containing Fortran statements, COBOL statements, and some Assembly statements. Wikipedia has some punch card examples for short code.

But I am yet to find a reliable source explaining how programmers entered machine code into computers using punch cards. Or pseudo code using punch cards.

Were there really punch cards for machine code? Or when stored programs appeared they were already programmable with Assembly?

  • $\begingroup$ You don't enter pseudocode into computers (except into a word processor or typesetting system). $\endgroup$ Aug 3, 2018 at 13:40
  • 1
    $\begingroup$ Maybe you should ask "retrocomputing.stackexchange.com" $\endgroup$
    – Grabul
    Aug 4, 2018 at 1:35
  • $\begingroup$ @DavidRicherby "Pseudocodes" didn't mean the same thing they do today. They were the intermediary step between machine code and programming languages as we know today. $\endgroup$
    – giusti
    Feb 8, 2020 at 18:24

2 Answers 2


You normally started by entering a little loader program one word at a time by setting the bits with a line of toggle switches on the front panel, like this:

The PDP-8/e. Such a cool machine.

Wikipedia has a bit of explanation of the process. (Yes, it was tedious.) The little program would then read a larger program off of some convenient input device, which could be a card reader, although the machines I used in those days used paper tape. Another Wikimedia photo. Thanks, gang.

It could even be magnetic tape or some other magnetic storage device.

Picture from pdp8.net. More thanks.

The larger program was the equivalent to the boot loader which is on sector zero of the persistent storage of whatever computer you used to ask this question, so the process is not that different.

A useful innovation was storing the initial boot loader loader in hardwired persistent memory (aka BIOS).

The use of symbolic codes to replace individual binary toggle switches (or equivalent) grew over time, and the distinction between assemblers and "higher level" languages is not a clear line. Fortran was certainly not the first higher level language, but it was extremely important.

(Some of the images come from David Gesswein's wonderfully nostalgic PDP-8 site.)


If I understand the question correctly, you can find some examples of punch cards containing machine code for the IBM 701 here (pdf link). Also, you can see some of the original manuals and documentation for the IBM 701 here.


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.