Hello Brian,
I understand that omitting the word “programmable” would incur the wrath of Iowans and Bulgarians by slighting Atanasoff and his ABC. Thus both would be electronic, but only Colossus qualifies as programmable. But can you help those of us struggling to follow the proper assignments of firsts to understand what it means to say that Colossus was “programmable.” Particularly in the light of newer information, the reconstruction, etc.
Any use of the term for older computers is somewhat problematic, as the idea that “programming” a computer meant the activity of configuring it to carry out a sequence of operations does not seem to surface before 1945, after the new ideas in the First Draft had begun to circulate. Within the ENIAC project the term “setting up” had been used consistently for this activity in 1943-44. It took a while for the new usage to standardize – Goldstine and von Neumann themselves called the activity the “planning and coding of problems” in their famous reports.
Your groundbreaking paper on Colossus back in the 1980 Metropolis et al volume A History of Computing in the Twentieth Century called at least Mark II Colossus programmable, in as much as there was some way to set up logic conditions and to change the sequence of operations performed with pugboards and switches. You called it a “special-purpose program-controlled electronic digital computer.”
That definition seems basically to have stuck. Checking its rather detailed Wikipedia page I see that it is described as follows:
Colossus was the first of the electronic digital machines with programmability, albeit limited by modern standards.[34]
· It had no internally stored programs. To set it up for a new task, the operator had to set up plugs and switches to alter the wiring.
· Colossus was not a general-purpose machine, being designed for a specific cryptanalytic task involving counting and Boolean operations.
A Colossus computer was thus not a fully general Turing complete machine. However, Professor Benjamin Wells of the Departments of Computer Science and Mathematics, University of San Francisco, has shown [35] that a Universal Turing Machine could have been run on the set of ten Colossus computers. This means that Colossus satisfies the definition of Turing completeness
Many devices could be configured, for example the plugboards used with traditional IBM punched card machines like sorters or tabulators. So this idea of “limited programmability” seems potentially slippery. (Not to mention the idea that a computer “satisfies the definition of Turing Completeness” if it could be used to construct a ‘Universal’ Turing machine – one could say much the same about a huge pile of Lego or Meccano).
So my question is: has anyone defined the minimum degree of configurability necessary to make something “programmable” in this sense? It’s clear that a computer can be called programmable if it could be configured to carry out an arbitrary sequence of operations. So traditionally the paper-tape driven machines like the early Harvard or Zuse computers would be seen as programmable (without branching), as was ENIAC (with branching), and of course any EDVAC-type computer. “Special purpose” seems to denote some rather severe constraints, but I don’t have a clear sense of what Colossus could and couldn’t be configured to do. Likewise I understand that ABC, though not regarded as programmable, had some kinds of jumpers and switches, which presumably configured its operations in some way that falls short of “programmability.”
Of course, Colossus worked well enough to solve problems and the ABC didn’t. That is perhaps a more instructive basis on which to separate their places in history than the concept of “limited programmability.”
Best wishes,
Tom
From: members-bounces@sigcis.org [mailto:members-bounces@sigcis.org] On Behalf Of Brian Randell
Sent: Sunday, February 01, 2015 4:43 AM
To: Sigcis
Subject: [SIGCIS-Members] Royal Mail Postage Stamp commemorating Colossus
Importance: High
Hi:
The Royal Mail has at last revealed details of their plans for a commemorative postage stamp featuring Colossus. I have known of this plan for some time as I was commissioned (in confidence) last year to write a section on Tommy Flowers for the chapter in the next Royal Mail Year Book about the new stamp series. (A rather brief press release by Royal Mail itself indicates that "each of the eight special stamps depict key inventions created by British inventors over the last century: Colossus, World Wide Web, Catseyes, Fibre Optics, Stainless Steel, Carbon Fibre, DNA Sequencing, i-limb" - see http://www.royalmail.com/personal/stamps-collectibles-gifts/look-forward-into-2015.)
The attached picture and text in fact comes from a scanned copy of the February 2015 British Philatelic Bulletin, rather than directly from the Royal Mail., which I received today. I had not seen the design of the stamp before, so only now - to my annoyance - do I find that it describes Colossus as “the first electronic digital computer” - my own text takes care to use the phrase “the first programmable electronic digital computer”.
I have pointed out this problem to the Royal Mail, but have been told that it is too late for it to be corrected - the stamps are to be issued next month. (I have learned that the Royal Mail were given some rather poor advice, so I don’t blame them.)
However I am nevertheless delighted that Colossus is being commemorated by the Royal Mail, and by the growing public recognition especially here in the UK of Tommy Flowers’ great contribution.
Cheers
Brian Randell
