Ada: Why This Strictly Built Language May Not Survive
We typically think of computer programming as a modern concept. However, programming languages have been developed as early as the 1940s. Some of these languages, such as COBOL and LISP, are still in use today. Even in the 1970s, there was already an abundance of programming languages. The issue at that time was how to streamline the many languages and to set a standard in the industry. The United States Department of Defense began accepting proposals for a language that could solve that issue. After several proposals were introduced as a solution to this problem, in came Ada.
Ada is a programming language developed in the late 1970s by the United States Department of Defense. It is named in honor of Augusta Ada King, Countess of Loveless, who is widely regarded as one of the first programmers. Ada has now been used for over four decades and continues to be used today. It is trusted in critical operations such as defense systems, flight control, and medical devices.
Needs to Be Met
The challenge was to create a universal language to be used in defense systems. At the time, there were already around 450 programming languages in use. The language chosen to replace these must be able to meet the needs each of the languages supported. It also must be able to run on large systems consisting of several types of machines.
The government contractors assigned to the task first needed to decide what criteria they would be looking for. These contractors developed the “Steelman Requirements.” The Steelman Requirements addressed the main components necessary for a language to be considered as sufficient for the government’s needs. Those included: flexibility, reliability, maintainability, efficiency and simplicity, ease of implementation, machine independence, and complete definition. These requirements have helped Ada maintain its status as a go-to language throughout the decades.
David A Wheeler’s, “Ada, C, C++, and Java vs. The Steelman” demonstrates just how strong Ada ranks in these requirements.
The other languages shown have quite a bit more popularity in the programming world compared to Ada. However, for tasks such as those conducted by the Department of Defense, Ada is clearly the leader of the pack.
History of Ada
Ada is a structured, statically typed, imperative, and object-oriented high-level programming language, extended from Pascal and other languages. … Ada was named after Ada Lovelace (1815–1852), who has been credited as the first computer programmer.
Ada was developed by a team led by Jean Ichbiah of France and completed in 1980. After its development, the government wished to enforce its use. However, the transition took quite some time. In 1991the Ada and Its Integration Mandate forced the transition of government subsidies to transition to the use of Ada. While you may have heard of other programming languages such as Python, Ada is a bit more mysterious. Its modern uses are not often discussed due to its role within the government subsidies. Many of the programmers who use it have signed non-disclosure agreements. These agreements make it impossible for them to go into detail about their current uses.
Ada has gone through updates over the decades. Ada 95 was published in February of 1995, followed by Ada 2012 in December of 2012. Ada has had some minor tweaks since 2012 but that version remains in use today.
Ada is a high-level programming language. Some languages that had been used until Ada’s development were specific to certain systems and machines. As a high-level programming language, Ada can be used across several systems and machines. Ada is also a strongly typed language. This means that all data types are predefined and must be used in certain ways.
There are many reasons why the government decided to force the use of Ada. For starters, it was developed specifically for the use in embedded systems. These are individual machines designed to work within larger systems of machines. This makes Ada perfect for use across many different government operations. Ada has proven to be reliable, secure, and scalable, meaning it can grow as needed. In addition to government defense systems, Ada is used across multiple other fields. The medical industry, data communications, and banking systems are just a few. In fact, Boeing is a big fan of the language. The company uses it in the programming of many of its aircraft, such as the Boeing 787 and Airbus A380. To illustrate Ada’s scalability, “some ten thousand people worked on the (Boeing) 777 project.”
Ada vs. Python
One more widely known programming language you may have heard of is Python. In comparison to Python, which is “used by 1.4% of all the websites whose server-side programming language we know,” Ada only accounts for less than 0.1%. While this may make it seem as if Ada is virtually irrelevant in the programming world, its uses across the previously stated fields prove it is still highly desired, even if it may be lesser known to the general public. One characteristic that can be seen as both an advantage and a drawback is “Ada’s underlying philosophy of ‘no assumptions.’” This can be frustrating to programmers who are more accustomed to the shortcuts Python offers. However, these characteristics of Ada help it to offer scalability that other languages simply cannot.
An interesting aspect to consider when discussing Ada is cost and time. Feelings toward the language can differ across countries. Just peek at a few programming message boards online and you will see how different priorities can result in vastly different opinions on Ada’s standing in modern times. While some see the Steelman Requirements as the golden rules of programming, others find them to create unrealistic expectations in today’s fast-paced, bottom-line world.
“Ada’s strictness and correctness may be perceived as an anti-feature.” The requirements which birthed Ada simply are not concurrent with the needs of today’s industry. While government projects require a certain standard, those standards are overkill for most projects normal businesses conduct. Ada also requires a GPL or General Public License. Many programmers simply feel GPL is difficult to work with, and “most companies avoid GPL like the plague.”
At this point in time the future of Ada is looking a bit rocky, to say the least. Ada may not have as well-known an image compared to other programming languages, and the cost associated with it has become a deterrent in recent years. Any Google search on the language will bring up numerous blog posts related to its decline in popularity. There have been many complaints about the licensing complexity of Ada, which makes it unappealing for many. However, it still remains an essential building block and a standard to which other languages may be held. Its reliability and security will be what promotes its continued use in highly sensitive systems within the defense and travel. One must consider the hesitancy of programmers to work with it. Will the difficulty of finding those willing to use Ada sway its niche market? Only time will tell.