Who was Ada Lovelace, and how are her life and contributions significant today? Lady Ada, the daughter of British poet Lord Byron, was a 19th century woman of many talents but with a particular leaning towards mathematics. She is commonly regarded as the world’s first programmer based on her work with Charles Babbage on his Analytical Engine. Her choice to study and specialize in the science, technology, engineering and mathematics (STEM) disciplines was highly exceptional for a woman in 19th century England, but she had an excellent role model in her mother, Anne Isabella (Milbanke) Byron. Lady Byron was herself a woman of high intellect with a passion for mathematics – Lord Byron called her the “Princess of Parallelograms” – and she strongly encouraged Ada in her studies.
Ada’s seminal work in computing was honored by the United States Department of Defense through its choice of the name “Ada” in 1979 for its common high-order computer programming language. This language, with its focus on software engineering, is a fitting tribute to her accomplishments.
AdaCore is pleased to join in the celebration of Ada Lovelace’s Bicentennial with this brief summary that highlights her life and career, as well as key milestones and resources for the language that bears her name. The biographical information is drawn from Betty Toole’s book Ada, the Enchantress of Numbers.
Although brief and tumultuous, the marriage of Lord and Lady Byron produced a child who would grow up to exhibit her heritage from both parents. Ada combined an active imagination, an eager inquisitiveness, and a sophisticated mathematical mind.
“… I have got a scheme … which, if ever I effect it … is to make a thing in the form of a horse with a steamengine in the inside so contrived as to move an immense pair of wings, fixed on the outside of the horse, in such a manner as to carry it up into the air while a person sits on its back.” — Excerpts from letters to her mother - April 7 (Betty Alexandra Toole, Ada, the Enchantress of Numbers)
Ada and her mother visited Babbage and saw a demonstration of Babbage’s machine. It performed several calculations, raising numbers to the 2nd and 3rd power and extracting quadratic roots. Ada quickly understood the potential of such an invention, and not just for numeric processing.
Ada learns of Babbage’s plans for his Analytical Engine, which (although never completed) was a precursor of modern digital computers.
“What is Imagination? …. First: it is the Combining Faculty. …. It seizes points in common, between subjects having no very apparent connection…. Secondly: it conceives and brings into mental presence that which is far away, or invisible, or which in short does not exist within our physical & conscious cognizance….”
“Mathematical Science shows us what is. It is the language of unseen relations between things. But to use & apply that language we must be able fully to appreciate, to feel, to seize, the unseen, the unconscious. Imagination too shows us what is, the is that is beyond the senses.” — Betty Alexandra Toole, Ada, the Enchantress of Numbers
“The Analytical Engine [in contrast with the Difference Engine] … is not merely adapted for tabulating the results of one particular function and no other, but for developping and tabulating any function whatever. In fact the engine may be described as being the material expression of any indefinite function of any degree of generality and complexity…” — Betty Alexandra Toole, Ada, the Enchantress of Numbers
Biographical References for Lady Ada
Betty Alexandra Toole, Ada, the Enchantress of Numbers; Strawberry Press, Mill Valley, CA; 1992.
Doris Langley Moore, Ada, Countess of Lovelace: Byron's Legitimate Daughter; Harper and Row, New York; 1977
Sydney Padua, The Thrilling Adventures of Lovelace and Babbage – the (Mostly) True Story of the First Computer; Pantheon Books, New York; 2015.
Named in honor of Lady Ada, the Ada language was designed for developing reliable, safe and secure software. It has been updated several times since its initial inception in the 1980s and is a language of choice for high-integrity real-time systems. Today Ada is widely used around the globe, for developing critical systems in both government and commercial domains and for teaching and research in university computer science programs.
The Ada language effort was an attempt to address the proliferation of programming languages and dialects that plagued the U.S. Department of Defense (DoD) in the 1960s and early 1970s. Project-specific language extensions or subsets meant that source code could rarely be reused or ported across different platforms. To address this issue, a set of requirements (language feature functionality) for real-time embedded systems was formulated, reviewed, and revised in a multistage process.
Four contractors were selected for the initial design phase, and to ensure an unbiased review they were identified only by colors in public documents. CII-Honeywell Bull was Green, Intermetrics was Red, SofTech was Blue, and SRI was Yellow. In March 1978 two languages (Green and Red) were selected for the second phase of the design, which lasted one year.
Although sponsorship was through the US DoD, there was strong international involvement, especially from NATO countries, in both the development and review of the language design.
At a café on the Champs Elysées in Paris, representatives from the language design’s sponsoring organizations met and considered an appropriate name for the new language. “Ada”, suggested by Cmdr. Jack Cooper from the U.S. Navy in honor of Augusta Ada Lovelace, received consensus.
To coordinate Ada policy across the US DoD, a program office was formed under the direction of Larry Druffel.
SIGAda — ACM’s Special Interest Group on the Ada Programming Language — was formed as a focal point for the Ada community. SIGAda conducts periodic conferences and workshops and publishes a technical newsletter (Ada Letters).
Ada-Europe is an international organization that aims to spread the use and knowledge of Ada and to promote its introduction into academic and research establishments. Ada-Europe represents European interests in Ada and Ada-related matters and holds an annual technical conference.
The ACVC (later known as the ACATS, or Ada Conformance Assessment Test Suite) comprises an extensive set of tests that an implementation needs to pass in order to be considered conformant with the language standard.
Ada was the focus of a series of major conferences and trade shows starting in the mid 1980s, first Ada Expo and then TRI-Ada, featuring key government and industry representatives and attracting several thousand attendees.
Ada was the first widely used language available on the PC platform that allowed users to take advantage of the full 20-bit extended memory address space of the 80286.
Although originally sponsored by government defense agencies, the Ada language spread into commercial use. One of the most significant commercial applications was the Boeing 777 airplane, whose software was written largely in Ada.
Technological advances since the initial Ada design spurred a language revision effort which culminated in a major new version of the standard, Ada 95. New features included support for Object-Oriented Programming, a more general separate compilation facility, a structured mechanism for state-based mutual exclusion, and specialized support for systems programming, real-time systems, and other areas.
AdaCore was founded by members of the New York University Computer Science department with the goal of commercializing the language technology that they had developed for Ada 95.
AdaCore’s European company was founded by computer scientists who had worked on the GNAT technology at NYU.
Named for the venue of the workshop in the UK where it was first proposed, the Ravenscar profile was a major breakthrough in language technology. It comprises a set of concurrency features that can be used in real-time applications with stringent memory constraints and/or safety certification requirements.
Among its various enhancements Ada 2005 introduced abstract interface types similar to Java interfaces, integrated the concurrency features with object-oriented programming, and extended the predefined library with generic containers and other packages.
Ada 2012 added support for contract-based programming (preconditions, postconditions, type invariants) and a number of other features including enhancements in the area of real-time programming and multicore support.
SIGAda initiated a new series of conferences, looking more broadly at the issues underlying the development of critical systems such as those requiring safety or security certification. Keynote speakers included Barbara Liskov and Nancy Leveson from MIT
The SPARK language was originally designed as an Ada language subset augmented with annotations to facilitate mathematical proofs of program properties ranging from absence of run-time errors to compliance with a formal specification. SPARK 2014 takes advantage of Ada 2012’s new features (most notably its support for contract-based programming) to replace the annotations with Ada-compliant syntax. SPARK and Ada can be combined, and verification can use a mix of traditional methods (testing) and formal proof-based techniques.
At age 17 Ada began her formal mathematical training by studying geometry; her interest in mathematics dominated most of her adult life. The following organizations have continued Ada’s legacy, promoting the STEM disciplines and encouraging learners of all ages to study programming and computer science.Ada Developers Academy Ada Lovelace Day Anita Borg Institute Girls Who Code