What programming could be done with the computer and what is the highest level of interface that could be achieved?
Example of analogue calculators/computers:
- [Bones][https://en.m.wikipedia.org/wiki/Ishango_bone]
- [Abacus][https://en.m.wikipedia.org/wiki/Abacus]
- [Slide rules][https://en.m.wikipedia.org/wiki/Slide_rule]
- [golden hats][https://en.m.wikipedia.org/wiki/Golden_hat]
- [the Antikythera Mechanism][https://en.m.wikipedia.org/wiki/Antikythera_mechanism]
- [tide predicting machine][https://en.m.wikipedia.org/wiki/Tide-predicting_machine] (though that was post-industrial).
- [flight calculator][https://www.amazon.de/dp/B004X762EY?tag=hangarflig049-21&geniuslink=true] (though this is modern)
As a rule, analogue computers are not programmable.
-
The first [programmable mechanical computer][https://en.m.wikipedia.org/wiki/Difference_engine] was designed in 1820, early industrial age, but couldn’t be build with the technique of the day.
-
All working programmable computers rely on electricity
-
Oh — of course there are the [original computers][https://en.m.wikipedia.org/wiki/Computer_(occupation)], most versatile and oldest if all.
Limiting the design to medieval technology means no electricity. They didn’t have a way to create or store significant amounts of charge. You would be limited to mechanical linkages for the operation of the computer and the UI.
You could certainly make predictive mechanical tools like the Antikythera mechanism. In theory you could create mechanical calculators like the stepped reckoner, or even Charles Babbage’s Analytical Engine, though medieval craftsmen lacked the metallurgy and precision fabrication techniques to really make a functioning machine as complex as those examples.
Mathematics like calculus can be mechanised with analogue (continuous output) mechanisms, but programmability is limited. being a continuous analogue output you can say that they are able to instantaneously (ignoring gear backlash and other mechanical tolerances) solve complex equations. The inputs can be changed freely and continuously and multiple machines could be interconnected to form complex analogue logic, but it is difficult to imagine a reasonable way that it could perform general programmable computing tasks rather than being purpose built for a specific equation or family of equations. See the analogue clockwork logic used in early autopilots and space flight computers, bombing calculators, early maritime navigation computers etc…
A general purpose mechanical computer is of course possible, but doesn’t scale well to what we would consider a modern computer equivalent, as another commenter mentioned babbages analytical engine roughly scaled and parallelised to a modern computer would weigh as much as a decently sized asteroid. even if the consecutive generations of smaller scale machines allowed for micro engineering of mechanical logic gates via micro scale CNC it would still be limited to a certain physical minimum size much larger than our current transistors and could only function at a limited speed and with a limited lifetime.
Other methods that could be used are chemical logic, which can be scaled pretty small, but requires constant fuelling and would be prone to “noise” from contamination. Optical logic is another option, but requires advanced optics, filters and polarisers which would require advanced manufacturing in the first place.
The most likely, if still far fetched option for pre-industrial NON-MECHANICAL computing to me is biological, through selective breeding and intense training of humans or animals to perform computing tasks, even subconsciously. We know this is possible as we see the occasional human computer arise naturally, sometimes with extreme and unbelievable capabilities, but we don’t know how to control it to “manufacture” a biological computer in this way.
I think it would be limited to arithmetic and calculus due to limited use case of those eras, and also limited by the speed of computation on the substrate — electronics or alternatives like photonics are pretty quick to function, almost instantaneous to human perception, but something like mechanical or fluid mechanisms are observably slow
Babbage’s analytical engine is estimated to weigh about 4 tons. Let’s say it’s equivalent to 10k transistor s to have the same single cycle capability of a modern 100b transistor CPU, you’d need 4 million tons. Also this would probably be impossible to run quickly, while a modern CPU can run billions of times per second. If you were to parallelize to make up the difference to run once per second, you’d need say 4 trillion tons, which is more than our entire iron reserves.
Point being even with this extremely rough calculation there are huge scale issues.