It's often said that the Analytical Engine was before its time
While this is a good point (yes, many of Babbage&#x27;s difficulties were self-inflicted; arithmetic on 40-digit numbers wasn&#x27;t needed in mechanical hardware and could be done in software as the industry started to realize in the 1970s), looking at the historical evolution—how Babbage got to the Analytical Engine—reveals the reason:<p>• Babbage&#x27;s <i>first</i> insight was that many books of tables (log tables, sine tables, actuarial tables) could be generated mechanically, using finite differences: basically, any &quot;nice&quot; function can be well-approximated by (say) a sixth-degree polynomial, and that was the basis of his Difference Engine. He did understand this; see the paragraph just before his frequently quoted one:<p>&gt; <i>One gentleman addressed me thus: “Pray, Mr. Babbage, can you explain to me in two words what is the principle of this machine?” Had the querist possessed a moderate acquaintance with mathematics I might in four words have conveyed to him the required information by answering, “The method of differences.” The question might indeed have been answered with six characters thus—</i><p><pre><code>    Δ⁷uₓ = 0
</code></pre>
<i>but such information would have been unintelligible to such inquirers.</i><p>(This paragraph is followed by the famous:<p>&gt; <i>On two occasions I have been asked,—“Pray, Mr. Babbage, if you put into the machine wrong figures, will the right answers come out?” In one case a member of the Upper, and in the other a member of the Lower, House put this question. I am not able rightly to apprehend the kind of confusion of ideas that could provoke such a question.</i><p>— but he does attempt to briefly answer how error-correction could be built into the machine.)<p>• In short, as he explains, his Difference Engine can be seen as a glorified version of  a simple machine that turns a triple of integers (x, y, z) into the triple (x + y, y + z, z). If you start this machine with the triple (0, 1, 2), then it successively turns it into (1, 3, 2), then (4, 5, 2), then (9, 7, 2), then (16, 9, 2), etc — so in n steps you get n^2 as the first number. (In general, starting with (a, b, c) gives the quadratic function a + nb + (n(n-1)&#x2F;2)c after n steps.) Do this to six places and many digits of precision and you have the Difference Engine, which could compute arbitrary sixth-degree polynomials and could indeed automate a lot of the tables that were being built by hand.<p>• As Tom Forsyth points out in the replies on the Twitter thread (<a href="https:&#x2F;&#x2F;twitter.com&#x2F;tom_forsyth&#x2F;status&#x2F;1359572977377890304" rel="nofollow">https:&#x2F;&#x2F;twitter.com&#x2F;tom_forsyth&#x2F;status&#x2F;1359572977377890304</a>), for this purpose, he really needed all those digits of precision. (BTW his blog post &quot;Babbage was a true genius&quot; looks great: <a href="http:&#x2F;&#x2F;tomforsyth1000.github.io&#x2F;blog.wiki.html#[[Babbage was a true genius]]" rel="nofollow">http:&#x2F;&#x2F;tomforsyth1000.github.io&#x2F;blog.wiki.html#[[Babbage...</a> )<p>&gt; <i>What the Difference Engine did was polynomials by forward differencing, which is just a bunch of adds. You actually do need massive precision there, and&#x2F;or the numbers have a high dynamic range. So until floating-point, yeah you need a lot of digits.</i><p>• The big mistake Babbage seems to have done (IMO), after coming up with this idea for the Difference Engine, is to have grand visions of it (it can do <i>all</i> the tables!), think it will be super useful, and <i>present it to the government</i>. Instead of taking private funding, he thought his great invention should be the property of the country and partly funded by government. Of course, like any engineer, he underestimated how long it would take, and meanwhile, while the government entanglement led to it being dragged on for <i>twenty years</i> at various points deciding whether to pour more money in, he came up with loops and branches and arbitrary computation—the Analytical Engine—asked them &quot;hey I have something better than the project you&#x27;ve been funding, what do you think?&quot;, and put them in an impossible spot, and was too socially naive to realize that he had become <i>non grata</i>.<p>• John Nagle (Animats) has commented a few times about how, contrary to the &quot;high culture&quot; story of the evolution of computers (Turing, von Neumann etc), the gradual evolution of &quot;calculators&quot; was itself leading up to computers (e.g. <a href="https:&#x2F;&#x2F;news.ycombinator.com&#x2F;item?id=10636154" rel="nofollow">https:&#x2F;&#x2F;news.ycombinator.com&#x2F;item?id=10636154</a>). Something similar appears to have happened with Babbage, where he started with a simple calculating device and, thinking about it more deeply, single-handedly came up with a Turing-complete design and was writing programs for it.<p>• I started reading Babbage&#x27;s memoirs &quot;Passages From the Life of a Philosopher&quot; (<a href="http:&#x2F;&#x2F;onlinebooks.library.upenn.edu&#x2F;webbin&#x2F;book&#x2F;lookupid?key=olbp36384" rel="nofollow">http:&#x2F;&#x2F;onlinebooks.library.upenn.edu&#x2F;webbin&#x2F;book&#x2F;lookupid?ke...</a>) after seeing an intriguing Knuth reference to it (see Russ Cox&#x27;s blog post <a href="https:&#x2F;&#x2F;research.swtch.com&#x2F;tictactoe" rel="nofollow">https:&#x2F;&#x2F;research.swtch.com&#x2F;tictactoe</a> &quot;Play Tic-Tac-Toe with Knuth&quot;). I&#x27;m only a third of the way through it, but unlike the popular image (his plans were never completed, the project was a failure etc), he seems to have been the real deal, really did understand what computation was possible, in many respects he was thinking like a programmer. Too bad machine-making of his time was not up to the task, or we might have had a different history. (According to Wikipedia, William Gibson and Bruce Sterling had the same thought, and came up with their 1990 novel &quot;The Difference Engine&quot;, establishing the genre of steampunk.)