January 16, 1998
Letter from Ben Brosgol, SIGAda Chair
In early January I was invited to prepare a talk for
delivery at the inaugural meeting of the Ada-Malaysia group,
held on January 10 in Kuala Lumpur. Since these comments may be of interest
to the broader SIGAda community, I am including them here as my chairman’s letter this month.
For further information about Ada-Malaysia, please go to their Web site at the URL:
Dear Ada-Malaysia members:
Thank you for inviting me to prepare a speech for presentation at your first meeting. In the future I hope to have the opportunity to address your group in person, but today this written version will convey my thoughts on Ada and its status. As is appropriate in the month of January, I will first look back at last year with a review of how Ada fared, and then look ahead to the new year with a few projections.
1997 was a critical year for Ada; in hindsight a period of extreme vulnerability. Ada was seeing competition from a variety of languages that were better known in the marketplace; not only C and C++ but also the relative newcomer Java. Questions were being posed challenging whether the choice of a programming language is really a significant factor in the success or failure of a software project, and whether standardization is as important as we in the Ada community have always thought. And most significantly in the United States, the Department of Defense observed that its "Ada mandate" simply was not working and decided to drop its long-standing policy requiring Ada for its applications. With this combination of developments, pessimists were foreseeing a gloomy year for Ada, predicting that it was destined to see steadily decreasing usage.
Were the pessimists right? Interestingly (and happily, from my perspective as an Ada advocate), they were not. Instead of Ada usage declining in 1997, it has increased. Instead of government projects abandoning Ada after the mandate’s cancellation, they much more typically have continued using Ada and are migrating Ada 83 systems to Ada 95. And instead of vendors deemphasizing their Ada offerings and moving to other markets, they have enhanced their Ada products with increased functionality and better performance.
There are several reasons why Ada has surprised the skeptics. One is the language itself. Sometimes it takes a while before new features in a programming language make it into mainstream applications, and Ada 95 brought not only new features but also new design styles. The additional capabilities of access types, the safety and performance of protected types, the expressiveness of the Object-Oriented Programming ("OOP") facilities, the flexibility of "child packages" -- all of these require time before the programming community learns how to use them effectively. I believe that it was not until relatively recently that these new Ada 95 facilities found their way into the working vocabulary of Ada programmers.
The improved quality of Ada compilation environments has also played a key role in making Ada a language of choice. Better bindings to external software systems; visual environments similar to those for C or C++; the ability to produce Java bytecodes (and hence Internet applets) from Ada source programs -- all of these and more were realized or enhanced in 1997.
Ada is indeed becoming more and more the language of choice in certain application domains, most significantly where safety is a concern. Boeing's commercial aircraft division insists on Ada for all their safety-critical software, whether developed by themselves or by their subcontractors. An ISO working group is producing a guidance document for the use of Ada on safety-critical systems.
Also under ISO auspices, work is in progress on standardizing the Ada Semantic Interface Specification ("ASIS"). This vendor-independent interface to the Ada compilation environment makes it easier for third-party developers to produce tools such as metrics analyzers, program browsers, and tools that check for compliance with safety-critical coding requirememts.
An essential element of Ada’s success is its international appeal. Ada was the first Object-Oriented Language to be standardized by ISO, and the Ada 95 revision addressed the technical requirements for international usage, principally in the area of character set support. I was pleased to see, at SIGAda’s 1997 Tri-Ada Conference, that over 20% of the attendees came from outside the US. Ada has been used successfully on many European railway projects, including the French TGV system and the new London Underground extensions. In Asia the Hong Kong to Canton line will be controlled using Ada. Where the level of sophistication in controlling and managing rail travel is becoming more complex, developers are turning to Ada as the most appropriate tool.
Another important element of Ada’s success is its growth in the academic community. Since the earliest days of computers, the choice of which language to use in fundamental programming courses has been the subject of debate. Ada has significant benefits over other languages for teaching programming and software engineering:
Complementing these technical advantages, Ada 95 compilers are available to academic institutions at minimal or no cost, and a number of excellent college-oriented Ada textbooks are on the market. As a result, we have seen steady progress in Ada’s adoption by Computer Science departments. The long-term effects of this trend can only be positive when Ada-knowlegeable graduates move into the professional computing community.
In summary, I see strong signs of health and growth for Ada as we move into the new year. The Ada 95 language itself is proving robust across a wide range of application domains, and compiler vendors are responding to the demand with products of high quality. I am personally aware of new commercial projects with tight schedule deadlines and exacting requirements for effiency and reliability selecting Ada over the alternatives.
Are there challenges ahead? Of course. Some are on the technical side: external systems or libraries of services are typically developed in other languages (such as C or Fortran), and their authors do not pay much attention to ease of use from Ada software. Other issues are more a matter of marketing and awareness: as a language that does not get as much publicity as others, Ada is largely unknown to a sizable portion of the computing community. But these challenges are meetable. On the technical side, Ada offers a viable solution to the interfacing problem, going much further than any other language in providing standard facilities for interoperating with foreign software. With respect to Ada awareness, we can realistically hope and expect that as large projects come to successful completion, the language’s benefits will become more widely known and appreciated.
I approach 1998 optimistic about Ada’s future, and I hope that Ada-Malaysia succeeds in increasing the awareness of Ada and its benefits among the computing community in your part of the world. There is a wealth of Ada-related material available on the Web that your members may find of interest; some good starting points are:
If there is any information from SIGAda that you would find helpful in your efforts, please do not hesitate to contact me.