In the beginning, computers really were built to perform computations.
People have been around for a very long time... and during most of that time most people did not really have much of a need to perform complex calculations. If math was needed at all, it was generally limited to simple addition and subtraction.
There were two big exceptions to this general disinterest in computations, figuring out where you were and figuring out how to aim your weapons.
Both problems require solving complex equations with multiple steps... Make a mistake in any one of those steps and the answer you come up with is useless. Since people (the original computers) tend to get bored and make mistakes, that made it very important to develop machines to reduce the number of mistakes and increase the accuracy of the solutions.
In addition to accuracy, the time necessary to solve an equation was a big incentive for developing machines to perform the math... This was particularly true when trying to blast an enemy before they blasted you...
If you are moving (to keep from getting blasted), and your enemy is moving (to keep from getting blasted), then quickly computing how to aim your weapons is crucial: You'll never hit anything unless you can compute solutions very quickly.
By the early years of the 20th century the US and others had developed a variety of machines to rapidly "compute" the trajectory of artillery shells and torpedoes, and these machines played major roles during World War II.
The United States Navy's "fire control computers" were so good that during the Battle of Samar (in the Philippines) a relatively tiny Destroyer Escort was able to inflict horrific damage on some of the Japanese Navy's largest Battleships and Cruisers. Although vastly outgunned, the computers on the tiny US ship gave it the ability to fire much more accurately and much more frequently than the bigger Japanese ships... The US ship was eventually sunk, but the Japanese were forced to retire. It is not a stretch to say that computers (in addition to courage) determined the outcome of that battle.
So it really was about computations. The data points that were supplied to the programs were "real time" variables... The target's current location, speed, and direction of travel... The wind speed and direction... The temperature and humidity... Current factors such as these were used by sophisticated algorithms to compute a "firing solution" with far greater accuracy and speed than was humanly possible.
The computers of the 1940s were crafted to execute a specific program... and those programs were composed of mechanical or electronic components that were physically connected to each other (rather than as the "lines of code" that we're familiar with today). To create or change a program, you either assembled a collection of mechanical linkages, or you wired together a sequence of electronic components... The distinction between hardware and software was meaningless.
In the 1950s, general purpose programmable computers quickly replaced their predecessors. Programs were now expressed as instructions using programming languages rather than mechanical components... and this dramatically increased the utility of computers. A single machine could now be used to solve a wide range of problems.
Somewhere along the way, the focus of computers shifted away from computations and refocused on data: By the 1960's the number of business oriented COBOL programs began to eclipse the number of science and engineering oriented FORTRAN programs... "Data processing" took over as the primary need, but the term "computer" doggedly held on... and more than likely it always will.
That's why we call them computers.
No comments:
Post a Comment