Sunday, December 28, 2025

HCW - 0.3 - Introduction - history

I suppose we should start with a little history.  Not much about this history will explain to you actually how current computers work, but they idea of information, and information processing, and the different ways that people have developed, over time, to deal with this, hopefully might expand your idea of what information is a little bit.  And some of the aspects of the history of information processing technology are just kind of interesting in their own right.

I suppose that we should really start with the invention of writing.  Written language allowed people to record information, and data, and their ideas, in some external form.  This is important, particularly when you think of the development of computer memory.  Written language is a form of memory that is not subject to distraction or simply forgetting something that you once knew.

Unfortunately, we don't know an awful lot about how written language developed.  We can infer a few things, given different types of written notation that we can date to different prehistoric times.  I say "prehistoric" because, by definition, history is *written* history.  Prehistoric simply means that it was before the invention of writing.  So, we don't have an awful lot of information, historical information, about the invention of writing, since before they invented writing, they had no way of writing down the history of the development of the idea of writing.

There is a sort of a subset of ideas here, and that is the invention of writing for numbers.  Most people who have a written language also have notation for numbers.  This is probably important, since most people seem to find numbers much more frightening than words.  (I tend to be an exception here: I frequently say that I'm not much of a one for remembering names or faces, but I *never* forget a number.)  But most people either are interested in numbers, or are positively afraid of the idea of arithmetic and processing numbers, so written notation for numbers tend to be fairly early in the development of information processing.

One of the earliest forms of calculation goes back thousands of years.  It's simply a stick, with some grooves or pits in it, into which presumably somebody would place a pebble when they were counting, or tallying, objects or entities that they wanted to total up.  So, obviously our fear of numbers goes way back.

Now, I'm going to jump ahead a few thousand years.  Somebody, and I'm sorry that I can't remember his name at the moment, invented a device for adding.  It was simply two sticks, that could be placed side by side, kind of like a slide rule, or a couple of rulers.  By moving the sticks with respect to each other, you could do simple addition.  Okay, it's not really terrific in terms of fancy calculators, but it is a help, and an aid, in terms of doing arithmetic calculations.

Then we come to a guy named John Napier.

Napier invented something very useful, in terms of doing arithmetic, called logarithms.  Mathematicians know that Napier invented logarithms, but, if you have ever heard of Napier you probably know him as the inventor of Napier's Bones.  Napier's Bones were very similar to the sticks that somebody else had invented in order to help with adding, except that Napier's Bones would help you with multiplication.  Napier's Bones tended to come in sets, but what they would really do is to give you a sort of a lookup table to decide what one number, multiplied by another number, would result in.

And this is one of those stories about the development of information processing technology, that's kind of interesting in its own right.  Napier's Bones were kind of clunky.  You might have a box of sticks, and, when you wanted to multiply one number by another number, you would rummage through the box, and pick up the right stick, and then look up the other number that you wanted in the multiplication, and get the result.  It doesn't do anything in terms of fractions, and, depending on the number of bones you have in your set, you're probably limited in terms of how many decimals you could have and the size of the numbers that you can multiply.  The more useful tool in this regard is the slide rule that I have mentioned earlier.

The thing is, Napier developed both Napier's Bones, this clumsy multiplying device, and logarithms.  And logarithms are what we use to make the slide rules that we used, quite extensively, before pocket calculators came along.  But Napier apparently didn't have the technology to develop the actual slide rule itself.  He's the guy who gave us the idea that was the basis of making slime rules, but he never made a slide rule himself.  Just the clunky boxes of sticks.

I'm rather fond of slide rules. I used them a lot when I was starting out studying physics. All of us in the physics department, and all of the engineering students, had slide rules, and used them very extensively.  And I was still at the university, studying physics, when the first, very basic, four function electronic calculators came out.  We did of course have adding machines, and some of the adding machines could even do multiplication, but adding machines were big, and heavy, and you couldn't carry them around in your pocket or backpack like you could a slide rule.  So, when the portable electronic calculators came out, a lot of people were very excited.  A friend of mine, also studying physics was very proud when he was able to get one because, while the standard price at the time for a calculator was $108, he had managed to get one for only $100.  He was so proud of the fact that he had this calculator that at one point he challenged me to a race, with one of our complicated physics calculations: him with his calculator, and me with my slide rule.  I actually won the race.  Not only did I get the answer faster, but I got the correct answer, while he, because of a mistake he made in one step in the process, got a wildly wrong answer.  Not only did I beat him, and get the correct answer, but I also had enough time to pay attention to what he was doing, and to know exactly where he had made a mistake that gave him such a massively incorrect answer.

A little while after Napier, there was a fellow named Blaise Pascal.  Like many scientists of the time, he was primarily a philosopher.  But he also did some science, and he developed a device which is, basically, one of the first calculators.  It was known as the pascaline.  It was, of course, mechanical and used gears and dials.  But it did do calculations for you, and so helped with dealing with numbers and calculations.  As noted, mechanical calculators, of similar types, developed, and got better, and got more functions added to them over the years.


A couple of hundred years later, along came Charles Babbage.  At the time, in England, the Royal Navy had been very useful to the British for a number of years.  Everyone was well convinced of the importance of having a Navy.  And the Navy knew that the biggest advantage that you could have in terms of sea battles, was to have bigger cannons on your ships.  Bigger cannons meant that you could fire at ships farther away.  Therefore, you could sail up to a ship, just inside the range of your cannons, and, if they didn't have guns that were as large as yours, you can fire it them all day, and eventually damage their ship, and there wasn't anything that they could do about it, because everything that they fired at you would fall short.

The thing is that when you fire cannonballs at objects on a flat surface, like the surface of the ocean, the projectiles travel in ballistic arcs.  It's difficult to calculate exactly how much you have to raise the cannon, and angle it up in order to fire cannonballs and projectiles into the air, such that they fall down where the ship you want to damage is located.  There's a lot of calculation involved.  Fortunately, ballistics always follow the same path.  This means that you can do all the calculations ahead of time, and record them in a book, and then, in a battle at sea, they just look up the range to the target in the book, and see how much angle they have to put on the cannon.

So, the Royal Navy was doing a lot of calculations, on dry land, in preparation for sea battles, and writing up these tables that could be sent with the ships at sea.  And they were doing an awful lot of calculations, and hiring a lot of people who were good at calculations, and it was fairly time-consuming and expensive.  Not to mention occasionally inaccurate, which, in a battle of sea, could ruin your whole day.  So Charles Babbage suggested to the Navy that they should pay him to develop a really good calculator, which would allow you to calculate the ballistic arcs for all the different cannons that they had, and do it very accurately, and do it very reliably.  He created a design for what he called the Difference Engine, which was, essentially, a very sophisticated calculator.

He also designed another machine, which he called the Analytical Engine.  The Analytical Engine was not simply a calculator.  It was, in fact, a fully functional computer.  It would be able to do pretty much anything that a modern computer would be able to do.  And it did it with gears and levers.

This is an important point to note.  Computers do not need to be electronic.  You can make logic circuits with sticks and levers, or with pulleys and string, or with columns of water, or with gears.  There is nothing magical about electronics and transistors.  The reason that we use electronics and transistors for the computers that we are using nowadays is simply because they tend to work faster than gears, and running them takes somewhat less energy.  Well, actually, an awful lot less energy.  This may sound surprising in terms of all the complaints these days that data centers are using too much power.  The thing is if we were running mechanical computers, like the Analytical Engine, we would be using much, much more energy to run those computers.

Oh, there is one more reason that we use electronics in our computers today.  That is that we have developed the technology to make transistors to the extent that we can package them in much, much smaller sizes than we could if we were still using gears and levers.

(In terms of the amount of energy that mechanical computers would use, I am very much amused by the first sketch in the Monty Python movie "The Meaning of Life."  It shows an office with a bunch of people using mechanical calculators, and pulling a hand crank to get the answers.  At one point in the sketch they all actually transform the people who are working on mechanical calculators into galley slaves pulling on oars and working terribly hard to do so, and I think that the point is quite apt.  Watch from about 25 seconds in to about a minute and a half in this clip https://www.youtube.com/watch?v=ecFBcpY9NHI )

The next stop in the historical journey that we want to make is in 1888.  This involves telephones, and telephones are going to come back again a bit later.

I suppose that I should tell the story first.  This goes way back.  1888, in terms of the telephone, was pretty primitive.  Now I'm not going to go into a lot of the technology of telephones, partly because the technology has changed immensely since then.  But, at that time, there weren't any automated telephone switches.  Actually, when telephones were first invented, if you wanted to telephone, you wanted *two* telephones.  Possibly one at home, and another one at your office, so that when you were home you could call the office.  That's all that you could call.  The two phones were connected to each other, and there was no switching involved.  (We're going to come back to the importance of switching.)

Later on, as more people got telephones, they realized that it was more efficient, and more reasonable, to have all of the telephones connected to a central office, and when you wanted to call somebody, you actually called the central office, and then the central office would connect you with the telephone of the person that you wanted to call.

So this was what was happening in, or slightly before, 1888.  A fellow called Strowger was one of two funeral parlours in town.  Strowger wasn't getting as much business as he thought he should get, and so he decided (and I don't know if there's actually any evidence of this) that somebody who worked at the telephone central office was related to someone at the other funeral parlour.  So, Strowger decided to put all of the operators at the telephone office out of business, by inventing an automated telephone switch.  And he did.


Okay, you may be thinking that this is a possibly interesting story, but what does it have to do with how computers work?  Well, it dealt with computer technology in two ways.  One was that this is an early instance of data communication.   The second is that this is one of the first instances of automated control.

The early version of the Strowger switch simply had an electrical post, on your telephone, which you could tap with a pin that was electrically connected and close the circuit.  This would send a short signal down the line to the telephone office.  At the telephone office the Strowger switch would jump one position for every tap that you applied to the signaling line.  If you wanted to phone a subscriber who had telephone 361, you would tap three times, wait for a few seconds, and then tap six times, wait for a few seconds, and then tap once.  The switch would jump three positions in the first row, and then jump to the second row and move six positions in the second row, jump to the third row, and then move one position in the third row.  This would automatically connect the circuit that would connect you with subscriber 361.

Later on this became more fully automated, and we got rotary dial telephones.  We used rotary dial telephones and Strowger type switching gear for almost a hundred years.

Our last stop in the history of computers is in the 1940s, during the Second World War.  The Germans had invented a new form of encryption.  (I *love* teaching about cryptography, but not much of it teaches us about how computers actually work, so I'm really going to try and resist the temptation and not going to cover that here.)  Actually, it wasn't a completely new form.  The basic idea of this particular device for encryption was reasonably well known, and, in fact, manual devices that did this encryption with for soldiers in the field were used by both German forces and the allies during World War II.  However, the Germans had improved on the process, and made it more complicated to figure out the patterns that were being used, by adding electronic rotors, and a series of internal plugs that could be rearranged.  These machines were generally referred to as Enigma by the British.  The early versions that the German military was using used three electronic rotors.  A later version used four, to make things more complicated, and less susceptible to decryption.  By the end of the war the devices being used on German Naval vessels, and regiments in the field, were using five rotors.  These devices were portable, but were roughly the size of a briefcase, although a trifle heavier.

A fellow named Alan Turing, working for the British, initially designed a device to help figure out what the settings of the plugs and the rotors were, and helped with an algorithm that the Polish mathematicians had discovered, which made it easier to decipher the Enigma encryption.

However, the Germans had a different version of this device which was used for the German high command, and very important communications which were being used in the development of strategy to pursue the war.  This device used twelve rotors, and was fiendishly difficult to try and decipher.  Turing made another device, called The Colossus.  This was electronic and much closer to what we would think of today as a computer.  It was still using gears and motors, but was reading data electronically.  Also because of the complexity of the encryption used by the German high command, it was programmable, rather than just being a purpose-built machine for a specific function.

So now we are much closer to the general computers that we have today, and, in fact, very shortly people started to build computers that were generalizable and programmable and would pretty much be recognizable as similar what we would consider computers to be today.

We are also going to come back a bit later to Alan Turing.


No comments:

Post a Comment