The evolution of keyboards and programming languages

Lines of BASIC printed out on a typewriter

I was playing around with my Underwood No 5 typewriter a while back, and jokingly typed out a couple of lines in BASIC, which I photographed for my Facebook and Twitter avatars. I thought about typing out some HTML, but then realised that the typewriter lacks the < and > keys, making tags entirely impossible.

It occurred to me that a great number of programming and markup languages make use of the < and > keys, even if my little BASIC program didn’t. As such, it would seem to me that the < and > keys (as well as a few others absent on my Underwood keyboard) must have appeared on the standard computer keyboard fairly early on. As my Underwood was produced in the late-1800s, well before modern computers, it was adapted to entirely different uses than my modern MacBook and PC keyboards. Many users new to the typewriter will be shocked to learn, for example, that most older typewriters entirely lack a 1 key (using instead the lowercase l), but up until the mid-20th century, this was simply the way things were. In fact, a typist from the early-20th-century would be shocked to see a typewriter with a 1 key.

For reference, the keyboard layout to my Underwood is above. As we can see, it is a much leaner keyboard than those we are used to today. Not much had changed a few decades later when my Royal was produced, and barring a few minor changes, the keyboard to it (below) is much the same as the keyboard of my Underwood.

From what I can tell, early programming languages did not require the < and > keys. While I am not too familiar with FORTRAN or assembly, the Wikipedia page for FORTRAN doesn’t seem to have any < or > in the examples of code, and assembly functions in terms of hexadecimal values paired with mnemonics, so programs written in assembler wouldn’t need anything beyond the standard typewriter keyboards.

The very first computer my family had was a Commodore 64, which we got when I was 3. My memory of the keyboard layout being fairly fuzzy, but I remember being surprised when, as a teenager, I dug it out of the basement and discovered that there were only two arrow keys: up/down and left/right. I looked up an image of the C64 keyboard online, and although there were some interesting surprises (the 2 key, for example, is paired with ” and not the @, as is the case with typewriters and modern German keyboards), the C64 does have the < and > keys.

I decided, then, to try and explore some earlier keyboards to see if I could get a better sense of when the < and > keys appeared. This IBM 26 printing punch keyboard from 1946 does not have the < and > keys, but this IBM 129 from 1971 clearly does. I’ll obviously have to do much more research into this to narrow things down a little more, but this is a interesting start.

I’m not entirely certain what I’ll find while researching this, but I am curious as to when the keys appeared, and at what point symbols like < and > were introduced into programming languages. I have a hunch that the adoption of the ASCII in the 1960s standard might have something to do with the appearance of < and > on keyboards, and that they those symbols didn’t appear in programming languages until after they were standard on keyboards, but I am clearly going to have to look much deeper into this before I reach any sort of definite conclusion..