Table of Contents
All documents, programs, and downloadable software associated
with The Analytical Engine are linked
to entries in the following table of contents.
- Introduction
- Historical Documents
- “Sketch of the Analytical Engine” by
L. F. Menabrea, translated and with extensive commentary
by Ada Augusta, Countess of Lovelace. This 1842 document is the
definitive exposition of the Analytical Engine, which
described many aspects of computer architecture and
programming more than a hundred years before they were “discovered”
in the twentieth century. If you have ever doubted, even for
a nanosecond, that Lady Ada was, indeed, the First Hacker,
perusal of this document will demonstrate her primacy beyond a shadow
of a doubt.
- “On the Analytical Engine”, Chapter VIII of
Charles Babbage's 1864 autobiography, Passages from
the Life of a Philosopher.
- The Report of the Committee of the
British Association for the Advancement of Science which,
in 1878, recommended against constructing
the Analytical Engine.
- “The Analytical Engine”, paper by
Major-General Henry P. Babbage (Charles Babbage's son),
read at Bath on September 12th, 1888; published in the
Proceedings of the British Association, 1888.
- “Babbage's Analytical Engine”, a 1910 paper by
Henry P. Babbage published in the
Monthly Notices of the Royal Astronomical Society
70, 517–526, 645 [Errata] (1910), describing his
construction of a portion of the Mill and Printing Apparatus,
used to compute a table of multiples of π.
- “Pascal's Calculating Machine”. After
years of work, in 1645 Blaise Pascal built a gear-based
mechanical adding machine. This document is Pascal's
disclosure of the operation of the machine and the
grant of a patent upon it in 1649 by Louis XIV, king of France.
This is the original text; even if you're comfortable
reading modern French, you'll probably find this
seventeenth century document rather quaint.
- The Analytical Engine Emulator
- Programming Cards. A detailed description of the various
cards used to program The Analytical Engine emulator, including
a number of ready-to-run examples.
- The Web Emulator describes
an Analytical Engine emulator which runs within a Web page.
If your browser supports HTML5 and JavaScript, you can
run Analytical Engine simulations with no additional
software or installation.
- The Command-Line Emulator. Documentation,
in Unix manual page style, of aes, a command-line
emulator for The Analytical Engine which you can download
in either ready-to-run object code or source code form, which
runs on any computer with a compatible Java virtual machine
implementation.
- Sample Programs describes
several programs, all of which you can run in the Web
Emulator, which illustrate applications of The Analytical
Engine in a variety of fields.
- Is the Emulator Authentic? discusses
the challenges one faces in developing an emulator for a machine
which was never actually built, and the rationale behind some
of the design decisions made in implementing it. Various aspects of
The Analytical Engine are compared to those of both early electronic
and present-day computers.
- The Mathematical Function Library. Babbage
immediately recognised that one great advantage of the Engine was that
once a given formula was prepared for it, the cards for that formula could
be placed in a library and called on whenever evaluation of it was needed
in the future. This document describes a modest library of cards for
evaluating the elementary transcendental functions, illustrating how
the Engine might compute them.
- The Java Applet Emulator describes
an Analytical Engine emulator which runs as a Java applet
within a Web page. (Due to security and compatibility
problems, fewer and fewer modern browsers support Java applets.
Most users should use the Web Emulator
instead.)
- Glossary of Babbage's Terminology
- Download
These are ZIP compressed archives, some of which contain subdirectories;
be sure to specify the appropriate options when extracting to preserve
the directory structure. In addition, the source and object code archives
contain long, upper and lower case file names. If extracted with a
utility which flattens such names into MS-DOS FILENAME.EXT
format, they will neither compile or execute correctly.
- Source code for the
Web Emulator.
This archive also includes source code for all of the
example and sample programs and the mathematical library in
the UTF-8 character set used by the Web Emulator.
Emulator source code is intended for experienced JavaScript and HTML developers,
and is utterly unsupported. The program is in the public domain
and you can do anything you like with it, but you're entirely on your own.
- Object code (.class files) for the
command-line emulator.
- Source code for the mathematical
function library. Includes the examples from the function
library document and test programs for each function.
Programs are in the ISO 8859-1 character set for the command-line
and Java applet emulators.
- Source code for sample
programs for The Analytical Engine emulator which appear in
documents linked to this page. Programs are in the
ISO 8859-1 character set for the command-line and Java
applet emulators.
- Source code (.java files) for both the
applet and
command-line emulators.
Emulator source code is intended for experienced Java developers,
and is utterly unsupported. The program is in the public domain
and you can do anything you like with it, but you're entirely on your own.
- Just for Fun
- “Picking Locks and Deciphering”,
Chapter XVIII of Charles Babbage's 1864 autobiography,
Passages from the Life of a Philosopher,
should lay to rest any lingering doubts you may harbour
about Charles Babbage's being a kindred spirit to
present-day computer people.
- Squaring the Bishop.
Charles Babbage closes his above memoir on picking locks
and deciphering by posing a word puzzle which, to
his knowledge, was unsolved. This document reports the results
of a present-day computer assault on the puzzle.
Spoiler warning! Obviously,
if you'd like to have a go at solving the puzzle yourself,
don't read this page beforehand.
- Portrait of Charles Babbage.
- Portrait of Ada Augusta,
Countess of Lovelace. You can also download
ZIPped PostScript source code for a full-page version of this
drawing.
- Analytical Engine Resources at Other Sites
Acknowledgements
Development of The Analytical Engine emulator was tremendously
assisted by the incorporation of the Java BigInt multiple
precision integer arithmetic package, developed by Stephen Adams
at the Massachusetts Institute of Technology,
Department of Electrical
Engineering and Computer Science, and the JavaScript
BigInteger.js
package developed by Peter Olson.
by John Walker