- 1
- 2
- 3
- 4
- < previous
- next >
What are the main differences between the original Ada and the 95 revision?
The "big three" Ada 95 language revisions were Hierarchical Libraries, Protected Objects, and Object-Oriented Programming. Hierarchical Libraries referred to the enhancement of the Ada module namespace to take it from Ada 83's simple "flat" namespace of "library units," where each unit had a single unique identifier, to a hierarchical namespace of units, with visibility control between parent and child library unit.
Protected Objects referred to the new "passive," data-oriented synchronization construct that we defined to augment the existing "active" message/rendezvous-oriented "task" construct of Ada 83.
Object-Oriented Programming was provided in Ada 95 by enhancing an existing "derived type" capability of Ada 83, by supporting type extension as part of deriving from an existing type, as well as supporting run-time polymorphism with the equivalent of "virtual functions" and run-time type "tags."
What prompted the Ada revision in 95?
ISO standards go through regular revision cycles. Generally every five years a standard must be reviewed, and at least every ten years it must be revised. There were also some specific concerns about the language, though generally the language had turned out to be a reasonably good fit to the needs of mission-critical software development.
In particular, Ada's strong support for abstract data types in the guise of packages and private types had emerged as a significant step up in software engineering, and Ada's run-time checking for array bounds and null pointers had helped catch a large class of typical programming errors earlier in the life-cycle.
Was there a particular problem you were trying to solve?
Object-oriented programming was growing in popularity at the time, though it was still not fully trusted by much of the mission-critical software development community. In addition, the Ada 83 tasking model was considered elegant, but did not provide the level of efficiency or control that many real-time system developers would have preferred.
Once the Ada 9X revision process began, a "requirements" team was formed to solicit explicit comments from the Ada community about the language, both in terms of things to preserve and things to improve.
Have you faced any hard decisions in your revision of Ada?
Every language-design decision was pretty hard, because there were many goals and requirements, some of which were potentially conflicting. Perhaps the most difficult decisions were political ones, where I realized that to achieve consensus in the language revision process among the ISO delegations, we (the design team) would have to give up some of our personal "favourite" revision proposals.
Are you still working with the language now and in what context?
Yes, I am still working with the language, both as a user and as a language designer. As you may know the newest version of the language, known as Ada 2005, just recently achieved official standardization. The Ada 2005 design process was quite different from the Ada 95 process, because Ada 2005 had no Department of Defense supported design team, and instead had to rely on strictly voluntary contributions of time and energy.
Nevertheless, I am extremely proud of the accomplishments of the Ada 2005 design working group. We managed to "round out" many of the capabilities of Ada 95 into a language that overall I believe is even better integrated, is more powerful and flexible, while also being even safer and more secure.
Would you have done anything differently in the development of Ada 95 or Ada 2005 if you had the chance?
The few technical problems in the development of Ada 95 that emerged later during use were either remedied immediately, if minor, through the normal language maintenance activities ("we couldn't have meant *that*... we clearly meant to say *this*"). Or if more major, were largely addressed in the Ada 2005 process. From a process point of view, however, I underestimated the effort required in building international consensus, and in retrospect I should have spent more time establishing the rationale for revision proposals before "springing" them on the panel of "distinguished reviewers" and the ISO delegations.
- 1
- 2
- 3
- 4
- < previous
- next >
Latest on Development
- Ruby on Rails rolls into the enterprise
- Adobe pushes Flash platform for business apps
- Top 10 wicked cool algorithms
- SAP slashes NetWeaver developer subscription price
- Zend adds Flash links to PHP
- Group wants to kick start embedded mobile market
- Facebook app verification fee draws criticism
- Silverlight, for real this time
- Why developers prefer Macs
- Ribbit opens Web telephony platform to all developers
Development Essentials
- Top 10 wicked cool algorithms
- Facebook app verification fee draws criticism
- Microsoft's openness stressed
- Yahoo's developer platform to launch this week
- Microsoft starts new developer portal
- Google API allows creating apps that can track laptops
- PHP, JavaScript, Ruby, Perl, Python, and Tcl Today: The State of the Scripting Universe
- Analyst: In-house app development fraught with waste
- Is unit testing doomed?
- Open source still the best way to develop software
TechWorld Jobs (beta)
Recent Jobs
TechWorld Blogs
-

TalkingTech
The view from the top of IT with TechWorld Editor Rodney Gedda
-

Entrenched
Cooking up better code, IDG's developers reveal some of their secrets
-

Broadband Voice
Darren Pauli digs in from the front line of Australia's broadband battleground
Recent blog posts
- A Novell approach to business
- An open storage stack? I like the sound of that
- The mobile clone wars: fighting for a better phone experience
- Stopping the "Clean Feed"
- Identifying web platforms
- Clean Feed ‘not technically possible’
- No Clean Feed - well duh!
- Conroy's content cops still on the cards
- Will open source ruin the economy? Please help
- Linux kernel 2.6.27 is out!
Recent comments
- A real alternative?
2 hours 35 min ago - Hello this is Brianna
1 day 12 hours ago - Turn any PC into a media center
2 days 1 hour ago - How About the Correct Title?
2 days 17 hours ago - who are you kidding?
2 days 22 hours ago - Seriously, how much did they pay for this advertisement
4 days 13 hours ago - SF Bay Area - free Seminar on Enterprise Cloud Computing
4 days 16 hours ago - video conferening but not telepresence...
4 days 23 hours ago - SAMSUNG OLED 40" TECHNOLOGY
5 days 8 hours ago - What was the question again, oh well this was prepared earlier
1 week 15 hours ago - Worldwide broadband prices continue to drop which means ? in AU
1 week 15 hours ago - Not a Problem Here in Australia and New Zealand
1 week 2 days ago - Clear the air
1 week 3 days ago - Tabbed browsing, Quick Find,
1 week 6 days ago - Microsoft details plans for new social bookmarking tool
2 weeks 14 hours ago - There is a 3rd party tool
2 weeks 2 days ago - Demise of Windows
2 weeks 2 days ago - new OS
2 weeks 2 days ago - Re: Favicon
2 weeks 3 days ago - Multi Camera Kino
2 weeks 3 days ago



