Ada2012与先前版本的主要特色比较
原文:Ada Comparison Chart,
http://www.adacore.com/home/ada_answers/comparison-chart/
译者:logiciel,2011年10月14日
The following chart provides an overview of evolution of the major features of the Ada programming language.
(下表提供Ada编程语言主要特色的演化概观)
Programming Structure, Modularity(编程结构,模块化) | Ada 83 | Ada 95 | Ada 2005 | Ada 2012* |
Packages(包) | √ | √ | √ | √ |
Child units (子单元) |
| √ | √ | √ |
Limited with clauses and mutually dependent specs(子句和相互依赖规范的限制) |
|
| √ | √ |
Generic units (泛型单元) | √ | √ | √ | √ |
Formal packages(形式化包) |
| √ | √ | √ |
Partial parametrization(部分参数化) |
|
| √ | √ |
Conditional expressions, Case expressions(条件表达式,情况表达式) |
|
|
| √ |
Quantified expressions(量化表达式) |
|
|
| √ |
In-out parameters for functions(函数的输入-输出参数) |
|
|
| √ |
Iterators(迭代) |
|
|
| √ |
Object-Oriented Programming(面向对象编程) | Ada 83 | Ada 95 | Ada 2005 | Ada 2012* |
Derived types (派生类型) | √ | √ | √ | √ |
Tagged types(标记类型) |
| √ | √ | √ |
Multiple inheritance of interfaces(接口的多继承) |
|
| √ | √ |
Named access types (指名访问类型) | √ | √ | √ | √ |
Access parameters, Access to subprograms(访问参数,子程序的访问) |
| √ | √ | √ |
Enhanced anonymous access types(高级匿名访问类型) |
|
| √ | √ |
Aggregates (聚合) | √ | √ | √ | √ |
Extension aggregates(扩展聚合) |
| √ | √ | √ |
Aggregates of limited type(受限类型的聚合) |
|
| √ | √ |
Unchecked deallocation (非检测解除分配) | √ | √ | √ | √ |
Controlled types, Accessibility rules (受控类型,可访问性规则) |
| √ | √ | √ |
Accessibility rules for anonymous types(匿名类型的可访问性规则) |
|
| √ | √ |
Preconditions, Postconditions, Type invariants(前置条件,后置条件,类型不变式) |
|
|
| √ |
Concurrency(并发) | Ada 83 | Ada 95 | Ada 2005 | Ada 2012* |
Tasks (任务) | √ | √ | √ | √ |
Protected types, Distributed annex(保护类型,分布式附件) |
| √ | √ | √ |
Synchronized interfaces(同步接口) |
|
| √ | √ |
Delays, Timed calls (延时,定时调用) | √ | √ | √ | √ |
Real-time annex (实时附件) |
| √ | √ | √ |
Ravenscar profile, Scheduling policies( Ravenscar子集,调度策略) |
|
| √ | √ |
Multiprocessor affinity, barriers(多处理器亲和,隔栏) |
|
|
| √ |
Re-queue on synchronized interfaces(同步接口的重新队列) |
|
|
| √ |
Ravenscar for multiprocessor systems(多处理器系统的 Ravenscar子集) |
|
|
| √ |
Standard Libraries(标准库) | Ada 83 | Ada 95 | Ada 2005 | Ada 2012* |
Input/output (输入/输出) | √ | √ | √ | √ |
Elementary functions(基本函数) |
| √ | √ | √ |
Containers(容器) |
|
| √ | √ |
Bounded Containers, holder containers, multiway trees(有界容器,保持容器,多路树) |
|
|
| √ |
Scientific Computing(科学计算) | Ada 83 | Ada 95 | Ada 2005 | Ada 2012* |
Numeric types (数值类型) | √ | √ | √ | √ |
Complex types(复数类型) |
| √ | √ | √ |
Vector/matrix libraries(向量/矩阵库) |
|
| √ | √ |
Character Support(字符支持) | Ada 83 | Ada 95 | Ada 2005 | Ada 2012* |
7-bit ASCII | √ | √ | √ | √ |
8/16 bit |
| √ | √ | √ |
8/16/32 bit (full unicode) |
|
| √ | √ |
String Encoding package |
|
|
| √ |
* Ada 2012 will be the next ISO standard of Ada.(Ada 2012将是Ada的下一个ISO标准)