Friday, November 11, 2011

Ada Lovelace - the 1st computer programmer

Lady Ada Lovelace

An article in engadget today: Researchers begin work on Babbage Analytical Engine, hope to compute like it's 1837," commenting on a good story in the New York TimesIt Started Digital Wheels Turning claims that Ada Lovelace was the world's first computer programmer. She collaborated with Charles Babbage to translate Luigi Menabrea's description of Babbage's Analytical Engine from Italian into English. However they fell out over what should be included in the final paper and published separately; hers in Scientific Memoirs and his in The Philosophical Magazine.
    Ada's Sketch of the Analytical Engine was very well received, and her lengthy additional notes to Menabrea's original description gave her the freedom to muse on the Engine's more philosophical aspects. She comments that: "The Analytical Engine weaves algebraic patterns just as the Jacquard loom weaves flowers and leaves... 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 adaptation, the Engine might compose elaborate and scientific pieces of music of any degree of complexity or extent."
In her notes to the paper she describes an algorithm for the Analytical Engine to compute Bernoulli numbers. It is considered the first algorithm written for implementation on a computer, but it is far from being a "program," more like pseudocode. Nonetheless, she was a remarkable lady and well deserves her honours.

[Note: a project called Plan28 is now underway to build a working Analytical Engine - the world's first steam-powered PC]