Today is Ada Lovelace Day, so there’s no better time than the present to talk about the programming language named after her. Everyone sort of knows that there was a computer language named after Augusta Ada King, Countess of Lovelace, who developed the first known computational algorithm for a machine. What most don’t know: What Ada, Countess of Lovelace, was to abstract big thinking, the Ada programming language is to big doing. Presumed dead by many, Ada is still used as the go-to language for many applications — including the Boeing 787 and Airbus 380.
So join us while we take you through the Ada computer language — what it is, where it came from, and where it’s going.
What is the Ada Programming Language?
Ada is a high-level type of object-oriented programming language. It is imperative, structured, and statically typed. It’s extremely efficient, reliable, and is perfect for large, long-lived applications.
And it’s been around for a while.
The most expensive, extensive code project ever
Ada was designed in the mid-1970’s for the Department of Defense, by four different teams of contractors whose proposals were winnowed down to one specification over two years: it was to be the standard language of the US military, at which time wallowed in at least 450 languages. Many of them were tied to one hardware architecture, and few were amenable to the sort of modular programming needed to build scalable, reliable systems for life-and-death applications, such as airplane control systems.
Ada was intended from the start for use in very large, long-lived systems, many of which are built around “embedded” computers such as those in satellites and military gear. A top goal was to reduce the likelihood of programmer errors. Another was to minimize the likelihood that a program would fail unexpectedly. Robust exception handling and run-time error checking served those goals.
Strong typing was a must, but Ada is also used for incorporating several computing approaches that were then only just emerging:
- Object-oriented programming, a (then) new approach to create abstract objects and methods, rather than directly manipulating memory structures.
- Concurrent programming (concurrency), allows a computer to run multiple, independent tasks at once.
- Real-time programming, for software which can keep up with what’s happening right this second (or microsecond) in the real world.
- Systems programming, lets programmers operate close to the hardware in use, rather than having it abstracted away.
The initial Ada specification was delivered in 1980, and became an ANSI standard in 1983. Government moves slowly, though, so it wasn’t until 1991 that Congress’ Ada and Its Integration Mandate declared that nearly all government systems would be coded in Ada, which was updated in 1995 to be the first object-oriented language standardized under the International Organization for Standardization, or ISO.
Jean Ichbiah, Ada architect
Claims that Ada was designed by a committee underestimate the role of French computer scientist Jean Ichbiah. He was a Honeywell employee whose Green language, one of the four candidates, was chosen as the basis for Ada. Ichbiah led Ada’s design until it was finished in 1980, then founded his own company to continue Ada standardization and build Ada compilers. Later, he invented the FITALY keyboard layout optimized for stylus input on tablets and PDAs. Ichbiah passed away in 2007.
What happened to the “Ada mandate”?
Even as the government standardized on Ada, mass-market computers and software were beginning to replace — actually, overrun — specialized systems. Why use a $50,000 computer when a PC from the mall, one which nearly all developers were familiar, could do the job all the same? The Department of Defense, seeing the opportunity to spend less and have fewer arcane systems, abandoned the Ada Mandate in 1997 and began to look to what were then called “commercial off-the-shelf systems.” These cheaper, more widely known systems, and non-Ada software solutions, had better support for C and Java than for Ada, which was seen as a niche opportunity by tech vendors.
Ada today: Going to the moon
Ada is still in use today. The language spec has been updated and modernized several times, most recently in 2012. It’s deemed a must have in many defense-related systems where reliability and safety are critical, or where thousands of programmers may work on a single code base. Much of it isn’t discussed on Reddit’s Ada subreddit, though, because many Ada programmers are sworn to government secrecy for the sake of security. They literally can’t tell you what they’re working on.
NASA’s CubeSat project launched a dozen university-built satellites into orbit in 2013. Carl Brandon, a physics professor at Vermont Tech, says, “The Vermont CubeSat is the only university CubeSat that successfully completed its mission: eight were never heard from, one fried its batteries the first day (software error), one worked a little for less than a week, and one for four months.” Vermont Tech had used SPARK, a language based on the Ada spec, for their flight software. Their Lunar IceCube, scheduled for launch in 2018 to search for ice on the Moon, is likewise being programmed in SPARK.
In civilian airspace, Boeing’s 777 airplane, which revolutionized airliner avionics, was software largely built on Ada. The newer 787 Dreamliner, and Airbus’ A380 and A350, are also programmed largely with Ada. Aircraft makers choose Ada both for safety and for scalability of the project itself — some 10,000 people worked on the 777 project.
Ada is not as widely used as some other languages, such as C, C++, or Java, and it’s not a language intended for home hacking. There are a relatively small number of Ada projects on Github. Then again, Ada Lovelace’s own algorithm was never run, because Charles Babbage never built a Difference Engine on which to run it. Sometimes, a concept itself can be world-changing. The Countess of Lovelace showed how a machine could do math, and explained that it could just as well make music. Ada, the language, showed how algorithms for the Difference Engine’s descendants could be more reliable, more scalable, and more amenable to handling the most complex ideas human minds could conceive.
Ada links for today’s engineers
Development firm AdaCore‘s engineers, many with decades of experience, provided us with a terrific reading list to explore information about Ada’s current role in the world:
- Celebrating Ada – History of Ada Lovelace and the Ada language.
- 11 Myths about Ada – Big and slow? That was 40 years ago.
- Reference reading
- AdaCore’s academic program – 200 instructors in 35 countries.
- Ada activities in 2016
- Ada Lovelace Day 2016 – A Map of Events Worldwide – Map of global events happening on October 11th to celebrate Ada Lovelace Day, the international celebration of achievements of women in science, technology, engineering and math.
Are you a woman interested in exploring a career in engineering alongside like-minded women? Hackbright Academy offers a 12-week intensive software engineering fellowship for women. Check out the page for more information!
- Admissions Office (25)
- Alum (97)
- Blog (157)
- Career Services (26)
- Diversity (17)
- Engineering Advice (59)
- Hackbright Field Trips (24)
- Hackbright Mentors (21)
- Hackbright News (105)
- Podcast (2)
- Profiles of Woman Engineers (104)
- Recruiting & Hiring (15)
- Resources (46)
- Student Blogs (24)
- Tech (52)
- Thought Piece (20)
- Uncategorized (2)
- Video (20)