The Early History of Computer Software

While initially the importance of computer software was downplayed and more of a focus was given to hardware, as hardware became more generalized software became increasingly important.

Reading Time: 2 minutes

Cover Image
By Reya Miller

Many are familiar with the origins of software companies like Facebook, Google, and Microsoft. However, the origin of software and its road to gaining significance when working with general-purpose hardware often goes undiscussed. Looking into early computers and software development, it's not only interesting to learn about the pioneers in the field, but it also helps with understanding how software and computers work.

Strangely enough, the first programs ever written were for a computer that hadn’t actually been built but only conceptualized by Charles Babbage, a 19th century inventor. The computer was called the Analytical Engine and was initially a successor to Babbage’s Difference Engine. The Difference Engine, funded by the British government, was designed to automate the process of creating logarithm tables used in navigation. The Analytical Engine was superior to the Difference Engine as it was more general-purpose, could switch tasks on its own accord, and could be programmed by specifying instructions for the computer to follow on punch cards.

Augusta Ada King, Countess of Lovelace, more commonly known as Ada Lovelace, was a mathematician who wrote the first published program for this computer which would have had the ability to calculate a sequence of Bernoulli numbers. She wrote this program in her notes for a translation of a French article regarding this computer. Ironically, these notes became more famous than the article itself, and Ada became the world’s first computer programmer.

However, Lovelace and Babbage, who were working in the early to mid-19th century, were ahead of their time. They needed more funding and technical advancements before any of their ideas could be implemented. At this point, the seeds of the digital revolution were planted. After this point, major advances in hardware were made before development in software could kick off.

While many attempts were made at making an initial computer, the Electronic Numerical Integrator and Computer (ENIAC) emerged as the first iteration of a computer, as it was

all-electronic, fast, and programmable. While the hardware was in its infancy, it was primarily men who were working on computers. Programming was seen as less important, and thus was assigned to women.

Six women were put in charge of programming the ENIAC, and unlike many working on hardware at the time, they were able to recognize the importance of the software which the hardware was running. These women were Kay McNulty, Betty Jean Jennings, Betty Snyder, Marlyn Wescoff, Fran Bilas, and Ruth Lichterman. Together they solved issues with their programs and worked on implementing more features with the ENIAC.

Initially, when computers were programmed, they had to be re-programmed every time someone wanted the computer to do something new. This problem was solved by stored-program computers. As the name implies, with this type of computer, programs were stored in memory and whenever the computer needed to complete an instruction, it could go to the memory address storing that instruction. These instructions stored in memory are what we now call “computer programs.” The ENIAC was able to run programs stored in its memory by way of function tables by April of 1948.

As time progressed, engineers started to see the value of more general-purpose hardware because it was significantly easier to manufacture, which led to software gaining significance. Computers went from machines with limited scopes for calculations to general-purpose computers which could do an infinite number of things. It’s crazy to think that the complex software which is used in our personal computers, social networks, and streaming services had such humble origins.