Hubbry Logo
search
logo
Note G
Note G
current hub
2524437

Note G

logo
Community Hub0 Subscribers
Write something...
Be the first to start a discussion here.
Be the first to start a discussion here.
See all
Note G

Note G is a computer algorithm written by Ada Lovelace that was designed to calculate Bernoulli numbers using the hypothetical analytical engine. Note G is generally agreed to be the first algorithm specifically for a computer, and Lovelace is considered as the first computer programmer as a result. The algorithm was the last note in a series labelled A to G, which she employed as visual aids to accompany her English translation of Luigi Menabrea's 1842 French transcription of Charles Babbage's lecture on the analytical engine at the University of Turin, "Notions sur la machine analytique de Charles Babbage" ("Elements of Charles Babbage’s Analytical Machine"). Her notes, along with her translation, were published in 1843.

The program described in Note G was not tested in Lovelace's lifetime, as the analytical engine was never built. In the modern era, thanks to more readily available computing equipment and programming resources, Lovelace's algorithm has been tested, after being "translated" into modern programming languages. These tests have independently concluded that there was a bug in the script, due to a minor typographical error.

In 1840, Charles Babbage was invited to give a seminar in Turin on his analytical engine, the only public explanation he ever gave on the engine. During Babbage's lecture, mathematician Luigi Menabrea wrote an account of the engine in French. A friend of Babbage's, Charles Wheatstone, suggested that in order to contribute, Lovelace should translate Menabrea's account. Babbage suggested that she augment the account with appendices, which she compiled at the end of her translation as a series of seven "notes" labelled A-G. Her translation was published in August 1843, in Taylor's Scientific Memoirs, wherein Lovelace's name was signed "A.A.L". In these notes, Lovelace described the capabilities of Babbage's analytical engine if it were to be used for computing, laying out a more ambitious plan for the engine than even Babbage himself had.

Lovelace's notes for the article were three times longer than the article itself. In the first notes, she explores beyond the numerical ambitions that Babbage had for the machine, and suggests the machine could take advantage of computation in order to deal with the realms of music, graphics, and language.

Again, it might act upon other things besides number, were objects found whose mutual fundamental relations could be expressed by those of the abstract science of operations, and which should be also susceptible of adaptations to the action of the operating notation and mechanism of the engine. Supposing, for instance, that the fundamental relations of pitched sounds in the science of harmony and of musical composition were susceptible of such expression and adaptations, the engine might compose elaborate and scientific pieces of music of any degree of complexity or extent.

— Ada Lovelace, Notes upon the memoir "Sketch of The Analytical Engine Invented by Charles Babbage" by the translator Ada Augusta, Countess of Lovelace, Note A

She explains to readers how the analytical engine was separate from Babbage's earlier difference engine, and likens its function to the Jacquard machine, in that it used binary punch cards to denote machine language. In note C, this point is furthered by the fact that simultaneous and iterated actions can be made by the machine, ensuring that any card or collection of cards can be used several times in the solution of a single problem, essentially anticipating modern methods of control flow and looping. These ideas were brought to a head in the final note, G, where Lovelace sought to demonstrate an example of computation.

Note G only made use of only the four arithmetical operations: addition, subtraction, multiplication and division, the implementation of Babbage's vision:

See all
User Avatar
No comments yet.