Page 3 of 4
What would have become of programming?
One thing that would have stayed the same is that we would have a language called Ada - but it wouldn’t quite be the same.
Augusta Ada, Countess of Lovelace was a mathematician and helped Babbage with his attempts to build the Analytical Engine. It was unusual for a woman to pursue mathematics at the time and Ada was only an amateur mathematician but a very reasonable one. She certainly grasped what the Analytical Engine was capable of and was its first programmer. Had it been build she would have had a great deal of fun with it.
She is usually quoted as saying that
“The Analytical Engine has no pretensions whatever to originate any thing. It can do whatever we know how to order it to perform.”
This is assumed to mean that she thought that AI was impossible and the machine was very limited. Personally I think she just expressed the essence of programming itself. I also think that she saw its possibilities:
“Supposing, for instance, that the fundamental relations of pitched sounds in the science of harmony and of musical composition were susceptible of such expression and adaptations, that the engine might compose elaborate and scientific pieces of music of any degree of complexity or extent.”
Does this sound like someone who thinks the machine is limited?
Ada understood exactly what programming was and realised that if you could code it the computer could do it.
She also understood that it wasn’t just numerical arithmetic that the machine was capable of but symbol manipulation. It wouldn’t have taken long for Ada to realise that it could be programmed in a symbolic language that the machine itself could translate. I can’t guess if the language she would have eventually invented would have been more like Fortran, Cobol or even Basic but at first it would have been a something like simple assembler. She might even have tried to automate Babbage’s machine description language.
Sadly, although there is one surviving program that Ada wrote, she makes no mention of errors. Perhaps if the machine had been built she might have coined the term “bug” long before Grace Hopper but I doubt that it would be for the same reason. A moth flying into the Mark I computer might have stopped it working but a moth flying into Babbage’s machine would have stopped the moth working...
Come to think of it a programmer falling into Babbage’s machine would probably not have stopped it working!
Would programming have been called programming?
Perhaps it would have been called “levering” or “gearing”. It certainly would have given a whole new meaning to object-oriented programming.
And what about structured modular programming?
Presumably it would have been all about calling lots of “submachines” and not using the “jump” instruction because it damages the machine...
We tend to think that we have invented most of the modern ideas of computing but think on this. Babbage got very close to some of the basic principles of AI without having a working computer to try any of it out on!
You don’t believe that AI nearly bloomed in the days of gas light and horse drawn carriages?
Well around 1860 Babbage started to think about what he could do to test out the power of his machine description language. He wrote -
“After much consideration I selected for my test the contrivance of a machine that should be able to play a game of purely intellectual skill successfully: such as tit-tat-to, drafts, chess, etc.”
Trying to write computer programs that play games has been the test bed of much of modern AI and here is Babbage planning to do the same thing - only his programs are rather more solid than ours.
His interest didn’t stop there. Next he started work on “tit-tat-to” his name for noughts and crosses. He analysed the game and worked out the design of a machine that would play it. Essentially he seems to have implemented something like a lookup table of responses. He didn’t seem to think of the idea of searching the game tree to find the best move but he did invent the principle of a one move look-ahead -
“... can he win at the next move, if so make that move... if not can his adversary win at the next move, if so prevent him if possible...”
The machine would even partially randomise the moves it used if more than one equally good move was possible!
You may think that building a special purpose machine was missing the point that a computer was a universal machine that could do anything - but Babbage didn’t miss this point at all:
“..Allowing one to one hundred moves on each side for the longest game at chess I found that the combinations involved in the Analytical Engine enormously surpassed any required, even by the game of chess.”
Babbage clearly realised that his Analytical Engine was a universal machine and the only reason he was thinking of building a special purpose machine to play noughts and crosses was that it would be cheaper than the full Engine.
Which brings us to another discovery...
The Victorian arcade game
Babbage was so convinced that the noughts and crosses machine could be built and would work that he contemplated charging people to use it as a way of funding the Analytical engine.
“It occurred to me that if half a dozen were made, they might be exhibited in three different places at the same time.”
He also had a clear idea that the machine would be addictive in that children would drag their parents to see and play on the machine.
Eventually he gave up the idea because he realised that the time it would occupy would be better spent working on the Analytical Engine. Had he gone ahead it really does seem that the arcade game culture might have developed long before Pong. And what would Dickens have made of it all...