Know the history of the first computer programmer ever

Learning web development is hard. However, I am making it easy for you. This blog is part of a blogpost series where I write about the exciting history of computer science. Check it out the first blog “here” to follow the thread of the topics covered in this blog.

In this blog you will learn about

  • The first addition, subtraction, multiplication and divition calculator
  • Punched cards
  • Steam-driving calculating machine
  • The analytical engine
  • The first computer programmer of the history
  • The need of automation
  • Punched cards everywhere

The first addition, subtraction, multiplication and divition calculator

Just a few years after Pascal, the German Gottfried Wilhelm Leibniz (co-inventor with Newton of calculus) managed to build a four-function (addition, subtraction, multiplication, and division) calculator that he called the stepped reckoner.

His unique, drum-shaped gears formed the basis of many successful calculator designs for the next 275 years, an unbroken record for a single underlying calculator mechanism. Leibniz built several versions of the Stepped Reckoner over about 45 years. Only one survives today.

Punched cards

In 1801 the Frenchman Joseph Marie Jacquard invented a power loom that could base its weave (and hence the design on the fabric) upon a pattern automatically read from punched wooden cards, held together in a long row by rope. Descendents of these punched cards have been in use ever since.

Jacquard’s technology was a real blessing to mill owners, but put many loom operators out of work.

History is full of examples of labor unrest following technological innovation yet most studies show that, overall, technology has actually increased the number of jobs.

Steam-driving calculating machine

By 1822 the English mathematician Charles Babbage was proposing a steam driven calculating machine the size of a room, which he called the Difference Engine. This machine would be able to compute tables of numbers, such as logarithm tables. He obtained government funding for this project due to the importance of numeric tables in ocean navigation. By promoting their commercial and military navies, the British government had managed to become the earth’s greatest empire.

But in that time, the British government was publishing a seven volume set of navigation tables which came with a companion volume of corrections which showed that the set had over 1000 numerical errors. It was hoped that Babbage’s machine could eliminate errors in these types of tables. But construction of Babbage’s Difference Engine proved exceedingly difficult and the project soon became the most expensive government funded project up to that point in English history. Ten years later the device was still nowhere near complete and funding dried up. The device was never finished.

The Analytical engine

Babbage was not deterred, and by then was on to his next brainstorm, which he called the Analytic Engine. This device, large as a house and powered by 6 steam engines, would be more general purpose in nature because it would be programmable, thanks to the punched card technology of Jacquard. But it was Babbage who made an important intellectual leap regarding the punched cards.

Babbage saw that the pattern of holes could be used to represent an abstract idea such as a problem statement or the raw data required for that problem’s solution. Babbage saw that there was no requirement that the problem matter itself physically pass throughout the holes.

Furthermore, Babbage realized that punched paper could be employed as a storage mechanism, holding computed numbers for future reference. Because of the connection to the Jacquard loom, Babbage called the two main parts of his Analytic Engine the “Store” and the “Mill”, as both terms are used in the weaving industry. The Store was where numbers were held and the Mill was where they were “woven” into new results. In a modern computer these same parts are called the memory unit and the central processing unit (CPU).

The Analytic Engine also had a key function that distinguishes computers from calculators: the conditional statement or if statement. A conditional statement allows a program to achieve different results each time it is run. Based on the conditional statement, the path of the program (that is, what statements are executed next) can be determined based upon a condition or situation that is detected at the very moment the program is running.

The first computer programmer of the history

Babbage was friend of Ada Byron, the daughter of the famous poet Lord Byron. Though she was only 19, she was fascinated by Babbage’s ideas and thru letters and meetings with Babbage she learned enough about the design of the Analytic Engine to begin building programs for the still unbuilt machine. Babbage refused to publish his knowledge for another 30 years. In the midtime, Ada wrote a series of “Notes” wherein she detailed sequences of instructions she had prepared for the Analytic Engine.

The Analytic Engine remained unbuilt (the British government refused to get involved with this one) but Ada earned her spot in history as the first computer programmer. Ada invented the subroutine and was the first to recognize the importance of looping. Babbage himself went on to invent the modern postal system, cowcatchers on trains, and the ophthalmoscope, which is still used today to treat the eye.

The need of automation

The next breakthrough occurred in America. The U.S. Constitution states that a census should be taken of all U.S. citizens every 10 years in order to determine the representation of the states in Congress. While the very first census of 1790 had only required 9 months, by 1880 the U.S. population had grown so much that the count for the 1880 census took 7.5 years. Automation was clearly needed for the next census. The census office offered a prize for an inventor to help with the 1890 census and this prize was won by Herman Hollerith, who proposed and then successfully adopted Jacquard’s punched cards for the purpose of computation.

Hollerith’s invention, known as the Hollerith desk, consisted of a card reader which sensed the holes in the cards, a gear driven mechanism which could count, and a large wall of dial indicators to display the results of the count.

The patterns on Jacquard’s cards were determined when a tapestry was designed and then were not changed. Today, we would call this a read-only form of information storage. Hollerith had the insight to convert punched cards to what is today called a read/write technology.

Hollerith’s technique was successful and the 1890 census was completed in only 3 years at a savings of 5 million dollars.

Punched cards everywhere

Hollerith built a company, the Tabulating Machine Company which, after a few buyouts, eventually became International Business Machines, known today as IBM.

Punched cards became ubiquitous (seen everywhere). Your gas bill would arrive each month with a punch card you had to return with your payment. This punch card recorded the particulars of your account: your name, address, gas usage, etc. (probably there were some “hackers” in those days who would alter their punch cards to change their bill). As another example, when you entered a toll way (a highway that collects a fee from each driver) you were given a punch card that recorded where you started and then when you exited from the toll way your fee was computed based upon the miles you drove.

The history of Computing is wider than this. If you want to keep learning, check the third part of these blogpost series: Learn why a computer error is called a “bug”.

I am a front-end web developer with knowledge in git, github and the terminal console. I have a high level of mastery in html, css and javascript.