Erik Explores

Erik Explores

Share this post

Erik Explores
Erik Explores
Why Were Computers Invented?

Why Were Computers Invented?

The societal changes that motivated the invention of the first computers

Erik Engheim's avatar
Erik Engheim
Dec 01, 2022
∙ Paid

Share this post

Erik Explores
Erik Explores
Why Were Computers Invented?
Share

Early computers may not have looked very different from calculators: They had no screens, mouse, or keyboard. Instead, they had multiple switches to input numbers or a punched tape reader and writer. Long lists of numbers could be read in sequence from a paper tape perforated with small holes to encode numbers. The same approach could be used to write out calculation results.

Punched paper tape reader. Photo: Billie Grace Ward
Punched paper tape reader. Photo: Billie Grace Ward

The key thing that separated early computers from mere calculators was that they could repeat operations conditionally. An early motivator to create computers was the need to perform numerous repeated calculations. My imaginary Calcutron-33 computer was developed to mimic behavior of early computer systems, while still following modern ideas around microprocessor design, such as having a RISC (reduced instruction set computer) inspired architecture.

The following Calcutron-33 assembly code program is an example of a program which repeatedly adds numbers read from input using the INP instruction and writes results to output using the OUT instruction. Text after the // characters represent comments and are ignored by the computer.

start:
   INP x1         // read input into register x1
   INP x2         // read input into register x2
   ADD x3, x2, x1 // add x1 to x2 and store in x3
   OUT x3         // write register x3 to output
   JMP start      // jump back to start of program

An important part of this program is the JMP instruction, which allows us to jump back to the beginning of the program, and repeat the same instructions over and over again. The label start: marks the beginning of the program. Such an assembly program can have many different labels to allow the computer running the program to jump to several locations in the program.

Flowchart explaining flow of program execution.
Flowchart explaining flow of program execution.

What sort of input and output does INP and OUT actually deal with? It doesn't really matter what kind of I/O they represent. Personally, I like to imagine the input and output as punched paper tape. Yet, they could also come from some kind of network communications, magnetic tape or manual user input from a numerical keyboard. The specifics don't matter.

While the preceding program is elementary, it accomplishes something, you cannot achieve with a calculator: processing large amounts of data automatically. But wouldn't humans need to punch in these numbers anyway? Indeed, but data could be recorded in numerous ways. One example is having cash registers automatically recording sales by punching a paper tape:

NCR of Dayton, Ohio, made cash registers around 1970 that would punch paper tape. Sweda made similar cash registers around the same time. The tape could then be read into a computer and not only could sales information be summarized, billings could be done on charge transactions. The tape was also used for inventory tracking, recording department and class numbers of items sold.

Another example is from long-distance communications. For instance, telegraphy gradually evolved into a system to transmit and receive data using teletype machines in the 1850s. A teletype is akin to a typewriter capable of reading and writing punched tapes and later transmit those tapes over a telegraph line. Thus, data recorded far away could be transmitted to a central computer capable of processing data large amounts of data stored on a punched tape.

Teletype Type 68D from Siemens. Developed in 1951. Photo: Norsk Teknisk Museum
Teletype Type 68D from Siemens. Developed in 1951. Photo: Norsk Teknisk Museum

Surveys, inventory and other statistics got punched onto paper cards which could get converted into punched tape. Thus, while reading a stream of numbers and output a stream of numbers may look primitive by today's standards, it opened up the possibility of performing complex statistics much faster than a human could achieve by manually operating a calculator.

The seed to develop computers were sown during the Age of Enlightenment in the 17th century: science and mathematics assumed an ever larger role in society. Areas that had been mostly based on experience such as firing a cannon turned into the science of ballistics. Fort construction became a highly scientific endeavor with the advent of the star shaped bastion forts. All these new fields required large number of calculations to be performed.

The need for computers to calculate mathematical tables

In the age of sail (16th to 19th century) the use of mathematical tables became more widespread, and a need to develop ways to automate the calculation of these tables developed. Navigation is based on the calculation of angles and the sides of triangles. This meant calculating trigonometric functions such as sine, cosine, and tangent.

A captain on a ship could use a sextant to measure angle θ between the horizon and top of a lighthouse.
A captain on a ship could use a sextant to measure angle θ between the horizon and top of a lighthouse.

Keep reading with a 7-day free trial

Subscribe to Erik Explores to keep reading this post and get 7 days of free access to the full post archives.

Already a paid subscriber? Sign in
© 2025 Erik Engheim
Privacy ∙ Terms ∙ Collection notice
Start writingGet the app
Substack is the home for great culture

Share