There were no ancient computers and it's fine
lcamtuf.substack.com
lcamtuf.substack.com
I'm not sure this is consistent with the way most people understand the term 'invent' -- the person credited as the inventor of a given technology is usually the person who first demonstrated a viable working example of it, not the first person to propose it as an idea, however detailed the idea might be. It's not enough to have a design you can't implement -- you have to implement it and refine it against the constraints of the usage context.
That's not to disparage Babbage in any way -- his work was extremely important and definitely contributed to the development of modern computers, but I don't know if it makes sense to say that he 'invented a computer' in the same way we say e.g. the Wright brothers invented their airplane.
>Or perhaps only things that can have branch instructions count
The author identifies programmability as the most interesting metric, which creates a "computer". Branching is necessary for that but not sufficient.
So no, music boxes have no input data.
It might not be fast to replace the input data, but it is possible.
I personally wouldn't.
«My point was simple: if a cuckoo clock or a differential gear qualifies as a “proto-computer”, what doesn’t meet the bar? Almost any man-made tool performs some sort of a calculation.»
Its about the author arguing that an open definition of what a computer is, is too inclusive and uninteresting if you want to talk about the history of actual computers.
Don't forget that modern computers include all sorts of special-purpose components, like ALUs etc. In the limit, a universal machine is the union of infinite non-universal machines, after all.
The author then argues that this categorization is unhelpful as it obscures the line between a purpose made computing device and a general computing device. The arrival of such devices he places at the end of the 1930s with the Z1, which was not made to perform a specific algorithm, but which instead allowed for programmability. Very soon after rapid advances happened, which created the "computer" as a general purpose computing device.
The Antikythera mechanism is essentially irrelevant to the point the author makes.
In the same way drawing a line between programmable and fixed-program computer is arbitrary and in fact the author spends much of the article dismissing Babbage's Analytical engine, which was a programmable computer, on the grounds it wasn't actually built; which is, of course, irrelevant, because a physical machine is not necessary for complete computation, as demonstrated by Ada Lovelace.
In any case, the early days of modern computing (1930's- 1940's) were replete with a plethora of computing machinery of various architectures many of which were called "computers", without them being necessarily programmable computers; for example, the "Atanassoff-Berry Computer" [1].
__________________
[1] https://en.wikipedia.org/wiki/Atanasoff%E2%80%93Berry_comput...
The point is there is a fundamental difference between a computing device which performs a single algorithm and a computer which can perform programmed algorithms.
The article is trying to make the distinction between what is, and isn't a "computer" sound crisp and exact, when it's arbitrary and ad-hoc.
The simplest argument would be that it was a calculator, not a computer.
From https://www.etymonline.com/word/computer
“Earlier words for "one who calculates" include computator (c. 1600), from Latin computator; computist (late 14c.) "one skilled in calendrical or chronological reckoning."”
The Antikythera mechanism can definitely do that.
Even now, would you say the type of cash registers where numbers are manually entered are computers?
In English also the two words' literal meanings are the same, and it's only modern usage that distinguishes them, as sibling comments argue.
It mostly comes down to definitions. Being general purpose and programmable do seem like they should be part of the definition, but where do we set the bar for programmability? Should ENIAC really be considered as programmable, or merely configurable (via patch panel wiring)?
Things like the Jacquard loom, programmable/configurable via punched cards, or automatic "player pianos", programmable/configurable via changeable disks/barrels, really introduced the idea of a stored "program", although no-one would consider them as computers. On the other hand it'd seem odd not to consider something like the Antikythera mechanism (which calculated future positions of the planets) from over 2000 years ago as a computer, albeit an analog one, even though it was fixed function.
Apart from functional definitions, perhaps the most compelling reason to consider machines like ENIAC as the origin of digital computers is that this was the start of using signal switching as the basis of computation, initially in the form of relays and vacuum tubes, then transistors leading to integrated circuits, with this being a continuous line of development.
Still, even if not part of this line of development, maybe we should at least give a nod to earlier computation and programmable machines as part of the inspiration for modern computers, even if only as part of our collective intelligence/memory and engineering progress in terms of conceiving and building ever more complex automated machines.
That would be a "programmable computer", or a "stored-program computer". The earliest digital computers[0] couldn't store a program; you had to re-wire them. Wikipedia says that ENIAC was "programmable", but programming it was a matter of jump-cables and plugboards, which I call re-wiring. In its earliest version, it had no main memory, just a set of registers/accumulators. You could use card-decks for persistent storage, but you couldmn't load a program from a card-deck, they were just for data.
The difference machine is not a computer, as it exists to perform a specific fixed algorithm.
So, if Shannon was not aware of all that work and had to reinvent it on his own, do we really credit him with this invention?
Yes, the idea of algebraizing logic was to my knowledge first done by Frege in his 1884 book "Begriffsschrift" (Hard to translate, maybe "Statement Notation" gets close?), which is fascinating to read. He had developed a (from our perspective) very weird notation, but it actually expresses what we would nowadays call "formal logic". Importantly it includes decuctions, which is an important addition to the and/or/not operations.
Before Frege philosophy/mathematics also had these notions, but instead of being algebraic they were linguistic notions. Those you can find even in ancient Greek Texts.
If the author really does argue that Shannon invented formal logic, then he is definitely wrong, although I have not read his argument on that.
You haven't seen my storage unit . . .
Konrad Zuse’s Legacy: The Architecture of the Z1 and Z3 https://ed-thelen.org/comp-hist/Zuse_Z1_and_Z3.pdf
take "The Dark Ages" as a case in point. the available evidence has broadly been covered, because there is very little, so historians, who have to be seen to be doing something, have decided a rebranding is in order, with the vague notion that "The Dark Ages" is offensive to the very dead people of that era