We define programmable machines as those that can do:

  • sequence
  • selection, and
  • iteration

ie the Turing Model of Computing.

Here we see the UCLA's 1948 Mechanical Computer performing a calculation.

To me this appears to be a Differential Analyser.

My question is: Was UCLA's 1948 Mechanical Computer programmable, or merely a calculator?

  • 1
    Do we define programming in that way? For example, the Colossus used by the British for code breaking during and after WW2, is widely considered the first electronic programmable computer, but it was not Turing complete.
    – JeremyP
    Commented Sep 24, 2019 at 11:19
  • @JeremyP to the point. (For the 'first' part, there's still the Z3 to be considered as well, isn't it?)
    – Raffzahn
    Commented Sep 24, 2019 at 12:02
  • I would define "programmable" to mean that the machine can be "programmed." That is to say, you have some ability to change what it computes without completely taking the thing apart, and building a new machine from the pieces. Turing machines in general are not programmable, but being "Turing complete" implies that it is possible to build a Turing machine that can be programmed to emulate other Turing machines. Commented Mar 6, 2022 at 20:11

1 Answer 1


From what I know, and what the video supports, this is 'simply' an analogue computer. Analogue computers are not programmable in a sense like we use the term today. They are more like Construction Sets with predefined blocks and mounting plates. In this case like a highest quality Meccano-like set. Analogue computers work, as their name say, by building a device working analogous to the problem in question. When build/configured, they represent a fixed function machine. Depending on the setup with fixed values, or parameterized input.

Using a 'premade' analogue computer is not different than building the same machine from scratch. It just simplifies the construction process and enables repetition due its premade parts, designed to ease construction (*1). In this it doesn't matter if made from mechanical parts, to be bolted into a frame (like the example) and driven by some motor, or a structured set of amplifiers and resistors in an electronic analogue computer to be wired up according to the problem (*2).

In either way, the term programming, as it used today with computers, is at best borderline, but usually not applicable here. They are fixed function setups.

*1 - Which is the very definition of a construction set, isn't it?

*2 - Note that this is to be distinct from early digital, patch (board) driven machines like D11 or ENIAC that had to be wired up as well.

  • Is the ENIAC programmable? It uses plugboard wiring to assemble a bunch of modules into a working computer. Commented Sep 24, 2019 at 20:49
  • @snips-n-snails It is a borderline case. It is plug wired, but at the same time it's digital, so definitly not an analogue computer.
    – Raffzahn
    Commented Sep 24, 2019 at 21:31
  • I see, a digital computer is not an analog computer. Commented Sep 24, 2019 at 23:16
  • IMO, wiring a plugboard is programming in the sense that it allows you to reconfigure/repurpose the machine without completely re-building the machine. reddit.com/r/TheWayWeWere/comments/qsmqmn/… Commented Mar 6, 2022 at 20:14
  • @SolomonSlow By that definition any pile of breakout boards and wires would be a programmable computer - wouldn't it?
    – Raffzahn
    Commented Mar 6, 2022 at 20:51

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .