The history of computer programming can be traced back as far as the history of computers themselves, possibly even before. Although it may come as a surprise to some, many of the first computer programmers were women, and almost all were controversial.
According to many people, the first computer programmer was the English noblewoman Ada Lovelace. In 1843, she published a sequence of steps to perform using a computing machine designed by her friend, Charles Babbage. These notes are considered the first computer program.
In 1840, Charles Babbage gave a lecture about his computing machine in Italy. An Italian mathematician wrote a transcript of the lecture and published it. Ada Lovelace translated the article to English, and spent nine months writing additional notes about it. The notes were three times longer than the article. One section of the notes included a method to use Charles Babbage’s machine to calculate Bernoulli numbers, a mathematical sequence. As a mathematician, they were a subject of interest to Ada. This method was an algorithm designed to be carried out by a machine, which is the simplest description of a computer program. Pritish Kumar Halder explained the complete history of computer programming.
The first programmer
Clockwork devices are probably the first know first examples of “programming”. The earliest known example is the Antikythera mechanism (200 BC – 70 BC). For this reason, no one can say for sure who the first person to program a machine really was.
Before electronic computers, there were human and mechanical computers and of course, clockwork devices. Many clockwork devices were so intricate that they could be “programmed” to complete a series of complex tasks, such as dancing or writing.
“The Writer”, an automaton (mechanical doll), designed and built in the 1770s by Pierre Jaquet-Droz, a Swiss watchmaker, is one particularly spectacular example.The Writer could be “programmed” to write different letters with a quill. Each gear represents a different letter. The Writer consists of some 600 different parts. Incredibly, it still works to this day. You can see him in action at the Musée d’art et d’histoire, Neuchâtel, Switzerland.
The First Binary System and the Birth of Programming
The Jacquard Loom punch card system, patented in 1804, is probably the first known example of the binary system, or at least an on/off instruction format. The system made it possible to automate the process of weaving different patterns into material.
How the Jacquard Loom punch card system works:
To weave cloth on a loom a thread (weft) is passed over and under another set of threads (the warp). To create different patterns, differently colored warp threads, are positioned above or below the weft. Before the invention of the Jacquard Loom punch card system, a weaver’s assistant had to manually raise and lower different threads at each row to create the pattern. This was extremely time-consuming!The Jacquard Loom Punch card system automated this. The principle was very simple: a series of punched cards were fed into the loom. If there was a hole in the card, the needle rose, if there was no hole, the needle stayed down. The shuttle then traveled across the loom creating a pattern in the fabric.
The design was first created on squared paper. The card maker then programmed the cards based on the design. It might surprise you to learn that no hole in the card indicated a colored square and a hole indicated a blank square.Punch cards were later used to store other types of data and, in 1890, were even used to store US census data. They formed the basis for early computer programming as they provided a way for humans to “talk” to a computer. Gradually, cards transformed to punched tape, to magnetic tape, to discs.
The first computer programmer
In the 1840s, Ada Lovelace became the first computer programmer, inspite of the fact that the Analytical Engine (the computer that she designed the programs for) wasn’t ever manufactured.She was also the first person to suggest that a computer could be more than just an oversized calculator! Her radical idea was that the numerical values produced by the computer could be used to represent something other than numbers: symbols, musical notes or well, pretty much anything… not everyone was convinced.
On June 5, 1833, Lovelace (17) first met computer pioneer, Charles Babbage (40) at a party in London. The two began an unlikely friendship. Despite the incredible powers of Babbage’s machines, it took Lovelace to realize their full potential.
In 1842 Luigi Federico Menabrea wrote a paper on Babbage’s Analytical Engine. Lovelace translated it from French (8,000 words) into English and added her own notes (20,000 words). Her translation included the first “computer program” and was published in 1843. The computer program gave plans for a series of punch cards that could create a long sequence of Bernoulli numbers.
The First Computer programmer (on an electrical computer)
1941, Konrad Zuse became, what was probably, the first person to program an electrical computer and, unlike Lovelace, the computer was actually able to perform the operation!
While Alan Turing was busy cracking the enigma code, his German “counterpart”; Zuse was developing the Z3; the world’s first working electromechanical programmable, fully automatic digital computer. The computer was fed programs with a strip of film. Much like the Jacquard Loom system, the film was punched with holes.
Early computer programmers
In 1945 the first full-time, paid computer programmers, charged with the ENIAC (the first electronic general-purpose digital computer) were Kay McNulty, Betty Jennings, Betty Snyder, Marlyn Wescoff, Fran Bilas and Ruth Lichterman, chosen from a pool of human calculators at Moore School of Electrical Engineering, Pennsylvania. Again they struggled to receive recognition for their achievements during their lifetime and were dismissively labeled “refrigerator ladies”.
As there was no programming language at the time, the ladies studied the blueprints of the machine and used a series of external switches and dials to program the machine.
The First Computer Programming Language
In 1952 – American computer scientist, Grace Hopper, developed a system that could convert plain English into computer code. This would later become COBOL, a computer language still widely used today for data processing!
COBOL was designed for the UNIVAC I (one of the first large-scale electronic computers). As with other early computer programmers, Hooper faced a backlash. When she first suggested the idea, people were dismissive and informed her that computers “couldn’t understand English”.
The future of computer programming
These days it’s hard to imagine a world without computer programs and computer programming. From your smartphone to the software packages used to design it, like BricsCAD, everything we touch, see and interact with has been created with the help of computer programming. It’s amazing to think that the first computer programmers faced persecution and backlash.
With so many women playing a key role in the early days of computer programming, it’s quite amazing to learn that in 2020 only 8% of computer programmers were women. Women programmers also have the 8th highest gender pay gap. However, with many young women showing an interest in STEM, things may once again swing the other way. Only time will tell!