Alan Turing and The Bombe

This is in reference to this post. I did not want to hijack a thread where most of the participants are armed (and, presumably, dangerous).

In that post, Joe Cool says:

I believe this is mistaken and the bombes were not “programmable” by any sense of the word. As I understand it, the bombes were, in concept, enigma machines working in parallel with different settings. They were absolutely not programmable in any way and could not do anything else than what they were designed for.

Can anyone add some more information on the bombes?

Sailor, I think you are right. In “Alan Turing - The Enigma”, Andrew Hodges states:

The Bombe … had nothing whatever to do with the Universal Turing Machine. (It was) … specific to the Enigma wirings

BTW, It’s a fabulous book.

But what is a programmable machine but a machine with “different settings”?

EINAC?
I think it was programmed with jumper cables.

There may be confusion between the bombes (which were electro-mechanical) and the somewhat later Colossi (which were electronic). Both devices were developed during WWII at Bletchley Park. I saw a PBS documentary about Colossus, and if I remember correctly, it was not developed primarily by Turing, but by one of his associates (can’t remember the name). see http://www.johnmaton.demon.co.uk/index10.htm

There are several competing claims, among them[ul][]The Z-3 built by the German Konrad Zuse in 1941 is sometimes called the first programmable digital computer (but I don’t think it was electronic). []The Colossus MkII is sometimes called the first programmable electronic computer (but it was a special-purpose machine). ENIAC is often considered to be the first electronic, general-purpose programmable computer.[/ul]

>> But what is a programmable machine but a machine with “different settings”?

Yeah, you obviously don’t work with computers. My blender has several settings and is not considered a “programable machine”. General purpose programable machine means it can do different things when carrying out instructions in a program which can be changed. AFAIK the Bombes did not come anywhere near this concept. They were just an array of Enigma machines running in parallel. An Enigma machine is not a general purpose machine any more than a calculator is.

I think the main difference is the possibility of running different programs which would be stored in memory. The bombes (AFAIK) had nothing of this sort.

Actually, a computer where the programs reside in the same “area” (i.e. memory) as its data is considered a Von Neumann machine. The earliest general-purpose computers had programms in a different form (usually connecting wires) than the data on which the programs operated.

sailor: You misunderstood what I meant by “settings.”

Back when I worked for IBM in the 1960s (before I was drafted and taught computer repair in the army), people didn’t talk so much about “computers” as “data processing equipment” and there was a wide variety of DP equipment in use. Some were programmable with wires, some with stacks of punched cards, some with paper tape, and some with a variety of magnetic media. ENIAC was not then a distant memory. (My brother even worked with NELIAC.) This wide variety confused people unfamiliar with “computers.” (You may have noticed in old movies and TV shows people putting punched cards in an IBM 085 sorter and saying “Now we’ll see what the computer says” or something absurd like that.)

To answer peoples questions about just what a computer was and what “programming” was all about, I used to explain that what made a piece of DP equipment programmable was that you could input a “program” in some form (by flipping switches, changing wiring, reading in punched cards, etc.) and that would change how the machine dealt with data input subsequently. It would be a stretch to say that your blender does that. No matter what setting it is on, when you hit the on button, it goes on, when you hit the off button, it goes off. On the other hand, something as simple as a lighting circuit controlled by two switches is programmable as far as I am concerned. The switch at the bottom of the stairs “programs” what the switch at the top of the stairs does (and vice versa). (In case you don’t have such a lighting circuit, the idea is that for switch B, UP can be either off on on depending on the position of switch A). You don’t have to agree with this definition of “programmability” but it seems more logical to me than some arbitrary definition based on technology.

Unless I am very far off the mark, when one changed the settings on the bombes, one made a non-permanent change that
caused the machine to produce a different output, given any particular input, than it would have had the setting been different. This, to me, is programmability.

Of course both the bombes and Enigma machine were purpose built, not general purpose. (You didn’t make the distinction between general purpose and not general purpose in your original question.)

It may be really important to you, but to me, HOW the program is stored (whether in flip-flops, iron cores, or jumper switches) is irrelevant to the question of whether the machine is programmable or not. (Obviously this is important if your are arguing about whether something is a “Von Neumann” machine or not but that wasn’t your original question.)

Yeah, well, as long as we understand each other. But I think to most people, my definition would be more logical.

Imagine a mechanical adding machine. The output changes every time you change the input and yet it is not considered programmable. The Enigmas and the Bombes were pretty much like adding machines. Electromechanical devices that could only do one job. I do not think most people would consider them to be programmable in any sense of the word. Saying the bombe is programmable is saying my handheld calculator is programmable because I can “program” different numbers to get different results. Most people would not use the term like this but, OK, as long as we agree that the bombes were not programmable by my definition of the term.

This is all very interesting, but you guys are way off base on assigning the title of “first computer” to anyone at Bletchley Park. The first electronic digital computer is the “Atanasoff-Berry Computer” which far precedes the Bombe, Colossus, or any other computer.

From the website http://www.scl.ameslab.gov/ABC/

“Built in 1937-1942 at Iowa State University by John V. Atanasoff and Clifford Berry, it introduced the ideas of binary arithmetic, regenerative memory, and logic circuits. These ideas were communicated from Atanasoff to Mauchly, who used them in the design of the better-known ENIAC built several years later.”

Nobody has shown any evidence of any prior working digital electronic computers. Konrad Zuse comes close, his early Z1 and Z2 prototypes date to the period when Atanasoff and Berry were constructing the ABC. But Zuse’s early prototypes had design errors and did not work. And Z1-Z4 are far too mechanical to be a true electronic computer, it looks like a mechanical adding machine with gears and cogs, not like a “real” computer. Atanasoff and Berry were the first to get it right, and produce a computer that actually worked.
Anyway, you’ve got to read the site about the ABC. They recently constructed a replica of the original, the story is quite amazing, you can watch Quicktime videos of the replica in operation.
There is so much great folklore about the ABC computer. Like for example, the idea for the computer came to Atanasoff while driving cross country. Iowa was dry, and Atanasoff was notorious for his high-speed driving down back-country roads from Ames to the Illinois border, in search of a roadhouse with liquor. He described leaving his office to clear his head one day, as he pondered some math problems as he drove. The idea came to him in a flash, and he wrote down his invention on the back of a napkin, while drinking a whiskey at an Illinois roadhouse.
Ah, life should be like that sometimes, you take off on a tear across country, hoping to clear your head of the problems that are nagging you, and a solution comes to you. Your reward is a stiff whiskey, and a few relaxing minutes to write down your idea. And the rest is history.

Chas.E, your post is very interesting but I do not see where anybody here assigns the title of “first computer” to anyone at Bletchley Park. Not to mention that what I was asking in my OP was not that at all. My question was wheter the Bombes could be considered programmable machines (in the usual meaning of the word, not yeah’s), and I still think the answer is no.

Yeah, it must have been this quote that confused me, nobody said anything about the bombe being the first computer:

Oh yeah, I guess they did.

A computer is not a computer unless it is programmable. If it is not programmable, and does not contain memory that can store programs and data, it is just a calculator. This question is at the core of the question about who created the first computer.

On this, you are correct. The Bombe is not a programmable computer. It is not even a computer, it is a just a high speed logic circuit. Its a really incredibly brilliant logic device, but its not a computer.

High speed logic? I thought they were mechanical, just like Enigma, with the same mechanical wheels.

Just to clarify a point, I never said anything about the bombes being programmable COMPUTERS. I do maintain that they were programmable in the sense that you could “program” them by changing their settings and this would change the output they would give for any given input. Calculators, on the other hand, (at least non-programmable calculators) are not programmable. If you press ON, 3, +, 3, = you will always get 6. You can’t program it to give another any other response to that input.

I don’t know a whole lot about the Bombe, but I submit that a fairly reasonable definition of a programmable computer is one that is computationally equivalent to a Universal Turing Machine, modulo the possible requirement of an infinite amount of memory.

You can make a logic circuit out of mechanical circuits. Hell, you can make a logic circuit out of string and paper clips.
In fact, the mechanical logic elements of the Bombe and Colossus were the key to their success. Someone did an analysis of Colossus in order to emulate its functions on modern computers. They succeeded, but the emulator was very slow. They estimated it would take the power of a Cray Y-MP supercomputer in order to match the speed of Colossus. The mechanical logic circuits did many operations in parallel that must be done sequentially on digital computers.

>> You can make a logic circuit out of mechanical circuits

My quibble was not with the “logic” part but with the “high speed” part. I guess everything is relative. High speed compared to what?

Yeah, I guess it is a matter of definition but I do not see it your way. An Enigma and a Bombe initialized with the same settings and fed the same data will produce the same output. I think your comparison is not valid. A calculator produces different output for 3+3 than for 3*3 so you could say the operation key you choose is the “program”.

As I say, it is a matter of definition. In my mind the Bombe does not neet the definition of “programmable” but you can have your own definitions.