Accidental and Essential Complexity — Programming Word of the Day

Accidental and Essential Complexity — Programming Word of the Day

5 years ago
Anonymous $TjsaxHwAP-

https://blog.usejournal.com/accidental-and-essential-complexity-programming-word-of-the-day-b4db4d2600d4

It’s 1964, Kennedy was shot, the Vietnam War is on its way, and FORTRAN is becoming a popular programming language. You are tasked with making a program to calculate a mathematical equation. You don’t go for your keyboard, but instead for a pencil. You take a piece of paper, and meticulously write your code, one symbol at a time, inside little rectangles in the paper. The paper, meanwhile, doesn’t report any errors. It has no debugger or breakpoints. It’s a piece of paper.

You take that paper, hoping there are no typos, (or rather, writeos) and start punching holes in a card, where each hole corresponds to a symbol on that piece of paper. Again hoping you didn’t make a mistake, you take the punch card and you put it inside a computer. The computer reads the card, compiles the program and outputs a little printout, kind of like a receipt in a store. You take the printout, you read it, and you see that it’s an error. You missed a closing brace. With a sigh, you waddle back to the piece of paper, write in the closing brace, punch in a new card and repeat.