1 minute read

Computer Software

Origin Of Computer Software



English mathematician Charles Babbage conceived the ancestor of modern computers and computer software in 1856. Babbage dubbed the sophisticated calculating machine the analytical engine. While the analytical engine never became fully operational, Babbage's design contained all the crucial parts of modern computers. It included an input device for entering information, a processing device (that operated without electricity) for calculating answers, a system of memory for storing answers, and even an automated printer for reporting results.



The analytical engine also included a software program devised by the daughter of poet Lord Byron, Ada Augusta. Her "programs" were the coordinated set of steps designed to turn the gears and cranks of the machine. The instructions were recorded as patterns of holes on punch cards—a system that had been used since the 1750s by operators of weaving looms to produce woven cloth having specific and desired patterns. Depending on the pattern of holes in a card, and on the sequence of different cards, the computer would translate the instructions into physical movements of the machines' calculating mechanical parts.

The design of this software utilized features that are still used by software programmers today. One example is the subroutine; a series of instructions that could be used repeatedly for different purposes. Subroutines simplify the writing of the software program, as one set of instructions can be applied to more than one task. Another example is called the conditional jump, which is an instruction for the machine to jump to different cards if certain criteria were met. A final example is called looping. Looping is the ability to repeat the instructions on a set of cards as often as needed to satisfy the demands of a task.


Additional topics

Science EncyclopediaScience & Philosophy: Cluster compound to ConcupiscenceComputer Software - Origin Of Computer Software, Modern Day Computer Software, The Language Of Software, Application Software