File: etc/babbage - item number: 0
[Mike James starts a new series looking at the great ideas of computing and where they come from.] You can't start with a bigger topic than "the computer" but it is such a commonplace that we tend to take it for granted and miss how truly amazing it is. Some of the readers of Shopper were born before the era when computers were on every desktop, others have never known it any other way. So fast are things progressing that ideas that once seemed rare and extraordinary are now so obvious that we never delve any deeper into them. For example, what exactly is a computer? What makes it different from all of the other machines that we use today and have used in the past? A computer clearly is unique and usually easy to spot, because it is a machine that does no useful work! This may seem like a cruel joke thought up by someone who knows computers, the P C in particular, all too well, but it is 100 percent true. In physics, work is only done when a force moves its point of application through a distance, so steam engines and motor cars do useful work, but a computer just gets warm. Yes, all those power stations work day and night polluting the atmosphere just to keep your P C warm. More seriously, the fact that computers get warm is just a sign that we haven't quite got it right even now. In theory there is absolutely no reason why a computer should get hot at all--but that's another story. So a computer is a machine that does no useful work--but this only narrows it down. After all, a T V and a telephone satisfy the same condition, and so do most electronic devices. Clearly a computer is a bit more than either of these two devices, so what is the essence that makes it so different? To answer that question we have to go back in time, but not as far back as you might think ... Is a computer a calculator? Long before a recognisable computer was made, there were calculators--mechanical devices, usually based on cogs and gears, that performed the four basic arithmetic operations. The calculator is an essential machine that is to be found today as a desktop accessory on most computers. The fact that our computers create a virtual calculator should give you a clue that the two are not really the same type of machine. There were even calculators that worked with non-numeric problems. After Boole invented symbolic logic in 1854, William Stanley Jevons was inspired to build "the Logical Piano". This was a collection of cogs and gears that didn't crunch numbers but Boolean logic. You entered an expression with And, Or and Not and it told you if the whole thing was true or false. Later machines were built that could solve much more complex problems of the sort found in puzzle books, but even these impressive machines are not computers. Loom Service. It is often said that a forerunner of the computer was the Jacquard loom, because it used punched cards to control the patterns it wove into the cloth. This is mostly nonsense, although it clearly influenced the early thinkers about computers, and it was used as a more concrete example of what they were trying to explain to an otherwise uncomprehending public. It is difficult to explain what a computer is when you don't have one to point at. The Jacquard loom was even said to be "programmable" in the same way as a computer, because you could alter the punching of the cards to get different patterns. It could even claim to be the first to invent the program loop, because by sticking the front of the first card to the end of the last card the machine could run without break. All nonsense. The Jacquard loom is just an example of advanced automaton. The production of machines that followed set patterns of behaviour as controlled by slotted metal sheets, metal rods or oddly shaped wheels has a long history. The Jacquard loom is just another and its only claim to fame is that the control mechanism was easily altered because, instead of metal, it used thick cardboard. There is simply no avoiding the fact that the computer idea was Babbage's (hence the name of this series). We think of him as the man responsible for the impressive machines of cogs and gears that seem just right for the Victorian age, but Babbage should be remembered for his idea and not his failure to build it. He started out with the idea of building an advanced calculator, but somewhere along the way he stumbled on the idea of a computer. In 1833 he started to design the machine that we know as the Analytical Engine. In fact, there wasn't a definitive design, because he revised and improved it throughout his life. It is easy to be astonished at the physical details of the machine that his plans describe. It was huge and mechanical, but you can identify all of the parts of a modern computer. There's the mill, a mechanical central processor, the store, early RAM, and punched cards held the program. The whole thing was as large as a steam engine and needed one to drive its cogs and gears round. When the program was complete a lever rang a bell. As I said, an impressive machine, and it's easy to see it as an amusing Heath Robinson construction or something to revere as a brass and bronze art work. In fact the machine itself isn't the point. Ghost in the machine: The point is that Babbage had described a new type of machine and a new operating principle that could be applied to a whole class of machines, irrespective of what they were made of. Babbage had invented the programmable computer, as opposed to the loom or any other programmable machine. The key difference is that the program specifies what should be done with information stored in its memory and not how some part should move. If you like, it is the meeting of the calculator and the automaton--the Jevons Logical Piano meets the Jaquard loom! The "things" being manipulated are just states of the machine, and these states represent some aspect of the outside world--like the height of the tide at a particular time or the amount of money in your account. No useful work is done because what is being manipulated is information, not material. The first programmer, Augusta Ada King, said: "We may say most aptly that the analytical engine weaves algebraic patterns just as the Jacquard loom weaves flowers and leaves". Usually this is interpreted as a statement of how similar the two were, but it is better seen as a statement of how different they were. You can take Babbage's idea even further--who needs a real machine? Alan Turing didn't, even though he is best known for his "Turing Machine" and perhaps a little less well known for the Ace computer he designed. This, like the suggestion that Babbage was a failure, is a misunderstanding. Turing's legacy is the idea that the computer is an idea, a thing of the mind and not just a particular realisation of it. Turing's machine (1936) was a simple paper description of the absolute minimum that was needed for a computer to be a computer. It was essentially nothing more than a strip of paper, a pen and a list of instructions. The pen could write on the paper and the number it wrote could be read as input to the machine. At the time the word "computer" meant a person who did computations. Rooms full of people spent their days doing sums, and being a "computer" was a respectable profession. Presumably this is where Turing got his inspiration for the paper-and-pen approach to computing! Strip tease: Turing's machine was the ultimate in stripped-down computing, but surprisingly, while it could take an unreasonable amount of time to do an particular task, Turing proved that nothing was beyond its capabilities if you were prepared to wait. To be more precise, he proved that his machine was universal in the sense that it could do anything that any other computer could do. He did this by showing that it was possible to write data on the paper tape which would make the Turing machine behave like any other computer--yes, an imaginary machine creating a virtual one. The argument still rages over who built the first computer, and it seems reasonable that some of the people involved can also lay claim to having reinvented the computer idea without help from Babbage. His work was so little known at the start of the 20th century that most computer pioneers, Turing for one, knew little about it. However, the actual building of a computer is clearly a matter of engineering. The original idea was obviously Babbage's, refined by Turing. One of the people often credited with taking Babbage's idea further is John Von Neumann. He wrote a theoretical specification for a computer after being told about the Eniac--usually credited as the first electronic computer. Von Neumann's claim to fame is that he thought up the idea of storing the program along with the data--the so-called stored program or Von Neumann architecture. Clever, but of course Turing's universal machine contained the same idea when it used the data written on its tape to specify not only the program but the machine to run it! So far we haven't really defined what essential computer idea is. We've talked around it, said what it isn't but it still remains slightly elusive, slightly shadowy. The reason is that it really is quite a subtle idea and it is difficult to explain it without reference to the particular technology used to realise it. To take the example of George Stephenson and the "moving machine", you can see that it is easier to give examples, carts, chariots, cars, steam engines and so on than it is to capture the essence of what a "moving machine" is. A computer clearly has to have a program--I E a list of instructions that controls what it does--but there is one extra condition. A computer is a programmable machine that manipulates symbols. The Jaquard loom is a programmable machine, but what it turns out is cloth and not symbols. A calculator manipulates symbols, but it has to be programmable before it approaches the status of computer. So now we have a wonderful abstract definition of what is and what is not a computer, but in the real world the engineering matters. It took many years and many clever ideas to turn the crude internal combustion engine into something that cruises the motorways at the speed limit. The same is true, only more so, of the computer. Turing may have had an imaginary computer, but you couldn't use it to play Doom or run Windows 95. To make the modern computer work, you need lots of clever ideas to determine how to implement Babbage's mill, store and input-output devices. Beyond this you also need to know how to make the symbols do what you want them to and do it reliably. Both involve great ideas that are essential to understanding what your computer can and cannot do today.
Email this article
Return to home page: (Sunday, 25 February, 2018.)