Adaは、構造化、静的型付け、命令型、そしてオブジェクト指向を特徴とする汎用
プログラミング言語です。その名前は、史上最初の
プログラマーとして知られるエイダ・ラブレスに由来しています。Adaは、
Algol系の構文を基盤としており、信頼性と保守性の高さから、特に
組み込みシステム開発において高い評価を得ています。
Ada の誕生と開発
1979年、米国国防総省は、信頼性と保守性に優れた、
組み込みシステムに最適な
プログラミング言語の開発を目的とした国際競争入札を行いました。4社の提案の中から、フランス人チームによる提案が採用され、Adaの開発が始まりました。開発過程では、コーディング効率よりも可読性を重視すること、プリプロセッサマクロを持たないことなどが重要な要件とされました。
Ada の特徴
Adaは、当時としては画期的な多くの機能を備えていました。その中でも特に重要な機能を挙げると以下の通りです。
強力な型システム: コンパイル時と実行時の両方で厳格な型検査が行われます。属性を利用して、型に関する詳細な情報を取得できます。
高度な型システム: 複雑な型を持つ定数を定義できます。
多重定義: 手続き、関数、演算子を多重定義できます。
プラグマ: 処理系依存の機能を指定できます。
パッケージ: モジュール化を支援するパッケージ機能は、後にC++のnamespaceとして取り入れられました。
汎用プログラミング: ジェネリックプログラミングは、後にC++のテンプレートとして取り入れられました。
並行プログラミング: タスク、entry/accept/select文などを用いた並行プログラミング機能が備わっています。
例外処理: 例外処理機構により、エラー発生時の処理を適切に記述できます。
Adaの言語仕様は非常に大規模で複雑なため、開発には「Strawman」「Woodenman」「Tinman」「Ironman」「Steelman」の5つの段階を経て、最終的に完成しました。そのため、初期のコンピュータでは処理系の実装が困難であり、主に大規模なシステム開発で使用されてきました。
Ada の標準化と普及
Adaの言語仕様は、1983年にMIL-STD-1815として規格化され、その後、ANSI標準、ISO標準としても標準化されました。1995年にはオブジェクト指向機能が追加され、オブジェクト指向言語としては史上初の国際標準となりました。さらに、2005年と2012年にも改訂が行われています。
Adaの規格では、コンパイラの認定制度や自動ビルド機能なども規定されており、高い信頼性と保守性が確保されています。ただし、その複雑さから、民生用途での普及は限定的です。
Ada の利用例
Adaは、高い信頼性と安全性が求められるシステム開発において幅広く利用されてきました。代表的な例として、F-22戦闘機、
97式魚雷、
ボーイング777などの航空機制御ソフトウェアなどが挙げられます。近年では、より新しい言語への移行が進んでいる分野もあります。
まとめ
Adaは、その複雑さゆえに習得に時間を要しますが、大規模で信頼性の高いシステム開発には最適な言語です。特に、国防関連や航空宇宙産業など、安全性が極めて重要なシステム開発においては、今後もその重要性を保ち続けるでしょう。 Adaの持つ高い信頼性と保守性は、現代でも多くのシステムで高く評価されています。