[SIGCIS-Members] What does "programmable" mean?

Thomas Haigh thaigh at computer.org
Sun Feb 1 10:27:52 PST 2015

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
<http://en.wikipedia.org/wiki/Turing-complete>  machine. However, Professor
Benjamin Wells of the Departments of Computer Science and Mathematics,
University of San Francisco, has shown [35]
<http://en.wikipedia.org/wiki/Colossus_computer#cite_note-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 <http://en.wikipedia.org/wiki/Turing_complete> 

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


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,







From: members-bounces at sigcis.org [mailto:members-bounces at 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




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


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.




Brian Randell


-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.sigcis.org/private.cgi/members-sigcis.org/attachments/20150201/3cbc5795/attachment.htm>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: image/jpeg
Size: 62562 bytes
Desc: not available
URL: <http://lists.sigcis.org/private.cgi/members-sigcis.org/attachments/20150201/3cbc5795/attachment.jpeg>

More information about the Members mailing list