History and Goals of Ada
History of Ada
- 1970's DOD uses 400+ languages
- International Competition for new language
- Strawman, Woodman, Tinman, Steelman specifications
- Ada 83 designed and implemented by Green Team in France (Jean Ichbiah)
- For the curious:
Ada Byron King, Countess of Lovelace
Design Goals
- Reliability and maintainability
- Concern for programmer
- Efficiency (Size and execution speed)
Support for Design Goals
- Readability favored over writability (eg begin .. end vs {})
- Error prone notations avoided (eg = and :=)
- Strong typing (stronger than Java)
- Keep language small and consistent
- Support for large systems (ie packages)
- Support for abstract data types
- Support for multiple threads
- Validation suite: set of programs that test compiler
- Standardized before implementation
Application Areas
- Areas where reliability and/or execution speed are critical:
- Examples
- More examples
- On the relation between Java, Ada, and C++:
Some languages, such as Ada, fit well and are pretty
straightforward ports of the Java virtual machine. Sun will not attempt
to run C and C++ code on the virtual machine, however, because it is
more difficult to ensure the reliability and, therefore, the security
of downloaded code.
James Gosling - Inventor of Java
Versions
- Ada 83
- Original version
- Partial support for OO
- Ada 95:
- Complete support of OO (but not interfaces)
- Expanded support of threads
- support for multilanguage programming, ...
- Gnat: free compiler part of GNU gcc
- Upward compatible
- Ada 05:
- Java-like interfaces (ie multiple specification inheritance)
- Object notation allowed
- Improved standard packages
- Upward compatible