Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

> The Difference Engine was not a computer, because all it did was add and subtract.

The definition of computer is pretty grey for the pre-digital era, and it wasn't turing complete, but is it actually controversial whether it was a computer?



Difference Engine basically implemented one algorithm in hardware, while Analytical Engine was supposed to run a program. I believe that could make the latter one a computer.


The first stored program computer is a remarkable achievement, even if they didn't actually build it.


The analytical engine wasn't a stored program computer. It most closely follows the Harvard architecture, with instructions read from punch card memory. The analytical engine's claim to fame is that it was the first Turing complete computer to be designed.


> with instructions read from punch card memory

If that isn't a stored program, I don't know what is.


A stored program computer refers to the computer architecture where program instructions and data are stored in the same memory. This is also referred to as the Von Neumann architecture.

In contrast, a lot of early computers were built with separate instruction memory like punch cards. This is called the Harvard Architecture. If the instructions were immutable, which they usually were, then things like modifying the program at runtime were not possible.

Concrete examples of this difference is the Harvard Mk 1 and the Manchester Mk 1, the former being a Harvard architecture computer and the latter is a stored program computer or a von Neumann architecture.


"Babbage architecture" would have been much more accurate than "Harvard architecture", because Howard H. Aiken, the designer of Harvard Mark I, has been explicitly inspired by the work of Babbage into making his automatic computer at Harvard, which was intended as a modern implementation of what Babbage had failed to build.

The "Harvard architecture" had nothing to do with Harvard and it was not a novel thing. Having separate memories for programs and for data has been the standard structure for all programmable computers that have been made before the end of WWII, in all countries, and the methods for storing computer programs had been derived from those used in programmable looms and in the much earlier music boxes, which are the earliest programmable sequencers. Like the computer keyboards have a history of millennia since their origin in musical instruments (i.e. organs), the computer program memories have also their origin in (automatic) musical instruments, more than a millennium ago.


> Difference Engine basically implemented one algorithm in hardware

So, did Pong run on a computer?


No.


Is my toilet tank a single-algorithm analog computer?


That the Difference Engine and Analytical Engine belong on the timeline of computing history isn't particularly controversial, but the Difference Engine itself I've never seen anyone try to claim was a computer (it's a mechanical calculator)--the Wikipedia page doesn't even try to link it directly to the history of computers, you have to go to the Analytical Engine to see the Difference Engine's place in the "history of computing" timeline.


To confuse the issue, though, at one time it was somewhat common to call fixed function calculators like this ‘computers’.


Probably not, it's stated in the TFA, the controversy is because Lovelace was a woman and some people think propping her up is basically a DEI retcon in history, the rest of us don't care. But I don't think it's anything whatsoever to do with actual computers


https://en.wikipedia.org/wiki/Ada_Lovelace#Controversy_over_...

> All but one of the programs cited in her notes had been prepared by Babbage from three to seven years earlier. The exception was prepared by Babbage for her, although she did detect a "bug" in it. Not only is there no evidence that Ada ever prepared a program for the Analytical Engine, but her correspondence with Babbage shows that she did not have the knowledge to do so.

> Bruce Collier wrote that Lovelace "made a considerable contribution to publicizing the Analytical Engine, but there is no evidence that she advanced the design or theory of it in any way"

The common claims are that Ada Lovelace was the first person to write a computer program, or that she was actually the primary driver in developing the analytical engine. Both such claims fall into the area "DEI retcon" as you choose to phrase it.

Although on a more pedantic note, Babbage wasn't the first person to program a computer either. Computers that aren't Turing complete are still computers. The Jacquard loom is one such example, and unlike the analytical engine it was actually built and put to practical use.


It's always been strange to me, given that Lovelace's program was a note in some documents that she was preparing under Babbage's directions as a scribe of sorts, that so many people assume it was her work and not Babbage's. Based on other details of her life she was clearly a very intelligent and talented woman, but the obsession with attributing the first ever computer program to her seems entirely ideologically motivated.


> Lovelace's program was a note in some documents that she was preparing under Babbage's directions as a scribe of sorts

It was not the case. She was translating someone else’s article, and it does not seem she did it under direction or supervision.

> so many people assume it was her work and not Babbage's.

What she did was quite common. She had ideas about the thing she was translating and thus added them as notes. All fairly straightforward.

> the obsession with attributing the first ever computer program to her seems entirely ideologically motivated.

To me the obsession that some people (not you, but some definitely do and use the same arguments) have with bringing her down is entirely ideologically motivated. She was recognised for a long time, and while there are discussions about exactly who was first and such (as there always are when discussing History), her role was mostly uncontroversial. Also bear in mind that calculator and then programmer were women’s jobs until some point in the 2nd half of the 20th century. Having a woman write code was not controversial before the establishment of the bro culture.


> To me the obsession that some people (not you, but some definitely do and use the same arguments) have with bringing her down is entirely ideologically motivated

There really aren't more of those than there are people trying to give more credit to those women than there is evidence for. In the end there are foul play from both sides, but currently one side is dominating academia so there is much more need to argue against that side than the other.


>There really aren't more of those than there are people trying to give more credit to those women than there is evidence for.

That doesn't line up with my life experience at all. Do you have any evidence to support that assertion?


If you believe that all arguments must be evenly matched, to the point that you have an obligation to bolster the weaker side, you’re signing up for supporting some despicable ideas.

I understand and support steel-manning arguments in order to test one’s own convictions. But applied in actual debates with actual consequences, at some point you end up as the kneejerk contrarian that nobody takes seriously, and that undermines the truth seeking aspect of discussion.


That's so funny...

Mathematicians for 150 years: Ada Lovelace is kind of on top of it.

Random from 2024: probably just a diversity footnote.


Seriously. As the article states, while everyone else was like "Wow cool we will make a machine that makes calculating things easier"

Meanwhile Ada over here going "Oh shit this can do literally anything that can be done by steps of math. Someday machines following that formula will make music"

Ada is not the first programmer. Ada is the first computer scientist. She understood the ramifications of what we would eventually call "turing complete" systems, and understood the value of "general purpose" in a general purpose computer, and seemingly understood that more than just numbers could be represented and calculated in a computer.


Yes this is the most interesting thing about her writing - she foresaw a lot of later work.


Funny indeed.Ada Lovelace has been persistantly recognised for a very long time, but has never been held up as a sufferget type mayrter, as by all accounts, she enjoyed herself out on the bleeding edge and is still making people uncomfortable 150 years after not fitting into any stereotypes then. Its clear from the footnotes that, whatever crowd around Babage and Lovelace, grasped the possibilities. Also interesting is that durring the apollo moon mission, the memory modules for the guidance computers were crafted by some of the last lace makers, working by hand, to survive the introduction of the jaquard looms and there punch cards.


The parent asks about the Difference Engine. Lovelace wrote about the (more powerful) Analytical Engine. Nobody is denying the Analytical engine was a computer.


An entire programming language was named after her in 1980 (by a man) when when such things didn't exist.


I'm not sure I have a direct answer, but I agree something shouldn't be called a computer if it just does a one-shot, fixed-length calculation before requiring further human intervention. To be a "computer", and be associated with that general conceptspace, it should be Turing-complete and thus capable of running arbitrarily long (up to the limits of memory and hardware rot).

Earlier comment expressing annoyance at a mislabeling:

https://news.ycombinator.com/item?id=40077408


Separate comment to address a subtlety that comes up a lot:

Often you'll hear about fully homomorphic encryption (FHE) being Turing-complete. But you can't actually have a Turing complete system with variable-run-time loops that's homomorphically encrypted, because that leaks information about the inputs.

When they say FHE is Turing-complete, what they mean is that you can take an arbitrary program requiring Turing completeness, then time-bound it, unroll it into a fixed-length circuit, and run that homomorphically. Since you can keep upping the time bound, you can compute any function. So the system that translates your programs into those circuits, with no limit on the bound you set, could then be called Turing-complete -- but you couldn't say that about any of those circuits individually.

Earlier related comment: https://news.ycombinator.com/item?id=40078494


I don't think there is anything controversial here- the Difference Engine was a calculator that could only do a predefined set of hardwired computations, the Analytical Engine a true turing complete computer.


Is an early 20th century mechanical desk calculator a computer? There is no consensus on definition but for me, a computer follows a program. Maybe even only one fixed program. But a program. If there is no stepping through a program it is not a computer.

Does the iterative method used by the difference engine constitute a program?


The term ‘computer’ originates from humans trained (and paid!) to explicitly do lots of math, so it seems to be.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: