« March 16, 2017 |
| March 26, 2017 »
Sunday, March 19, 2017
The Analytical Engine: 2017 Edition Released
In 1997, I posted The Analytical Engine
, a Web resource devoted to Charles Babbage's 19th century invention of a mechanical computing device which embodied all of the essentials of present-day computers. Although the Analytical Engine was never built, it is a key foundation of the intellectual heritage of computing.
The Web tree included on-line editions of original documents about the Engine, including Babbage's description
from his 1864 autobiography, and the 1842 “Sketch of the Analytical Engine
” by L. F. Menabrea, translated and extensively annotated by Ada Augusta, Countess of Lovelace, in which the first computer programs appeared.
Accompanying the documents was an emulator for The Analytical Engine. Implemented in the Java language, it allowed users to run programs on a simulated machine with the properties Babbage envisioned (to the extent they can be determined
from the extant documents, which are occasionally contradictory and ambiguous) and get a feel both for its capabilities and limitations (you will quickly, for example, begin to appreciate why index registers and/or indirect addressing and subroutine calls were such important innovations in the early years of electronic computers). Analytical Engine programs could be run either from a command-line emulator or within Web pages as Java applets.
Unfortunately, the bright promise of Java in the 1990s has, at least as a means of adding interactivity to the Web, turned into a disappointment as dismal as a styrofoam cup of cold week-old coffee. A litany of security problems, incompatibilities among implementations of the language, and bloat in the language and its libraries turned the promise of “write once, run anywhere” into a reality of “write once, fix it forever, and struggle to keep it running”. With Release 52 of Firefox in March 2017, support for Java applets has been entirely removed, and Oracle, who inherited Java when they acquired Sun Microsystems, has announced that their Java applet plugin for all browsers will be discontinued. While the command-line Analytical Engine emulator continues to work, the demise of Java applets has made running the emulator within a browser, as most users preferred, no longer possible.
which is upward compatible with the original Java implementation and includes some new capabilities, including estimating the time programs would have taken to run on the mechanical Engine. A variety of new sample programs
which can be run on the Web Emulator are available, including computation of the
, Newton's method
, plotting the limaçon curve
, numerical integration for naval gunnery
, and estimating π with the Monte Carlo method
You can write your own programs for the Analytical Engine, either stand-alone or using the mathematical function library
. If you create any interesting programs or additions to the library, please contribute them for inclusion in this Web resource.
The best place to begin your exploration of The Analytical Engine
at Fourmilab is the Introduction
Table of Contents