I think the key point underlying this question is that the programming is not the thing that decides how the computer works. There are physical components called logic gates that work by manipulating current and can be combined to perform operations. These used to be made from vacuum tubes, but are now part of the silicon in a microchip.
An “or” gate has two input wires and an output wire. If both inputs are given a low voltage, the output is a low voltage. If either input is given a high voltage, the output is a high voltage. There are also logic gates for “and” where both inputs need to be high to get a high output, “exclusive or” where you need exactly 1 high input to get a high output, and “not” which only has 1 input and produces the opposite output.
With these components you can produce pretty complicated behaviour without writing a line of code. You can do all sorts of maths by stringing together logic gates in particular sequences. You could reprogram a machine like this by simply rewiring it, changing what outputs feed into what input to run a specific maths problem. From there it’s pretty convenient to create something that can read in input from a punch card or strip of tape and doesn’t have to be rewired every time. But everything ultimately comes down to electrical circuits made of logic gates changing voltages.
Latest Answers