One of the earliest computational devices known to man is the abacus. Its development in ancient times was hailed by the world's first visionaries as a major technological breakthrough.
The abacus as it is known today (see photo) is actually an improvement of the so-called "counting tables" used by merchants to keep track of inventory, finances and employee benefits in the ancient world.
This versatile and flexible tool was used for computation purposes for millennia; the abacus is still used in certain parts of the world today. While being mostly used for calculations, the abacus' usefulness for other purposes was investigated by the visionaries of the ancient world and the middle ages. The device's use for entertainment, communication or research was attempted, but nothing much came out of it. Some evidence shows that children of merchants sometimes used the device for playing various types of games.
A new class of professionals emerged - the abacus users. The concepts of open source and shareware being largely unknown centuries ago, new users had to rely on reverse engineering for uncovering the device's uses and applications.
These software pioneers took a step further and created some of the world's first programming manuals (see photo). The art of abacus programming developed, even though lack of hardware improvements limited the range of the device's applications.
As technology and mechanical engineering developed, so did computational devices. Many scientists, researchers and other open-minded people of the middle ages had grown disappointed with the limited uses of the abacus.
While pretty robust, easy to program and bug free, the abacus was of little help for complex astronomical, navigational or astrological calculations. Although many attempt were made, pebbles and beads could not be used to predict the motion of planets or the onset of wars. It soon became apparent that more complicated devices were needed.
The world's emergence from the middle ages and accelerated growth of trade, communication and scientific research led to a number of different designs for more advanced computational devices.
Such designs included various types of calculating machines, circles of proportion and even slide rules. While still mechanical in nature, such devices were major improvements over traditional methods of doing calculations. Navigators, astronomers and researchers worldwide quickly embraced the new technologies and the field of using and programming these tools became even more specialized.
Although lacking necessary technologies such as fine mechanical engineering, integrated circuit design or electricity, computer enthusiasts of the XVI and XVII centuries came up with several remarkable architectures for autmating calculations. While they consisted of nothing more than a wooden cabinet and a collection of numbered cards (see photo), such machines were of great help in speeding up calculations. And while a human operator was needed for performing all tasks, such devices can be considered true predecessors of mathematical coprocessors as we used to know them a decade or so ago. While such advances in computer science and design were impressive by the standards of those days, frustration was growing among early computer enthusiasts. There were no available machines that could be used for other applications besides mathematical, astronomical, navigational or other types of calculations.