編集この記事は検証可能な参考文献や出典が全く示されていないか、不十分です。出典を追加して記事の信頼性向上にご協力ください。(2019年9月)この項目では、プログラミング言語について説明しています。その他の「Ada」については「ADA」をご覧ください。け・命令型・オブジェクト指向のパラダイムを持つ汎用プログラミング言語の一つである。構文はAlgol系である。史上初のプログラマとされるエイダ・ラブレスの名前にちなんでAdaと命名されている。ADAと表記するのは誤り。フリーのコンパイラとしては、GNATなどがある。表紙が赤、青、黄、緑だったことから、そのままそれぞれの言語名称としてRED、BLUE、YELLOW、GREENと呼ばれた。この入札で優勝したのはフランス人チームで、公平を期すため選定時にはGREENと名付けられた。そのような理由から、イメージカラーは緑である。特徴的な要件としては、大規模開発や長期保守性の観点から、コーディング効率よりも可読性を重視することプリプロセッサマクロを持たないことなどがあった。強い型検査(コンパイル時および実行時)。属性によって型に関する情報が取得できる。手続き・関数・演算子の多重定義。プラグマを使った処理系依存の機能の指定。パッケージ(後にC++がnamespaceとして追従)汎用プログラミング(後にC++がテンプレートとして追従)並行プログラミング(タスク、entry/accept/select文など)例外など、当時としては先進的な機能[1]を意欲的に取り入れたため、米国国防総省は大きなものとなってしまった言語仕様をまとめるのに、初版のStrawman(わら男、案山子の意味もある)からWoodenman(木男)、Tinman(ブリキ男、前述の案山子とともに『オズの魔法使い』に出てくる)、Ironman(鉄男)、最終版のSteelman(鋼鉄男)に至るまで5つのバージョンに分けて策定を行った。言語仕様の大きさや厳密さのため、当時のコンピュータが持っていた資源では、処理系の実装にミニコンやワークステーション程度を必要とし、16ビットパソコンには市場性といった事情もあり実装はほとんどない。実際にはAdaは、大企業において、主として信頼性や保守性を要求されるシステムの開発でのみ普及した。いうよりも、実際にどの程度徹底されたかは不明だが、策定の主体であった米国国防総省が発注するようなもの、即ち兵器の開発において条件とされたと言われる。仕様準拠か否かの検証プログラムキットが規定され、合格しない処理系は「Adaコンパイラ」と称することができない。自動ビルド複数モジュールの依存性から、再コンパイルの要否を自動判定する(いわゆるMakefileの記述が不要)などがあげられる。策定作業中に仕様が大きくなっていった際には、仕様が高度に巨大化した言語が、兵器のように高度な信頼性を要求される分野に、国防総省の「お墨付き」として使用されることを危ぶむ向きもあった。最初に1983年にMIL規格として規格化され、エイダ・ラブレスの生年である1815年に因んで、MIL-STD-1815と採番された。改訂作業が開始された。1995年2月15日にISO標準として改訂が承認され、オブジェクト指向言語のうち、史上初の国際標準となった。1995年の規格は、オブジェクト指向の他、下記のような仕様も標準化されている。8652:1995/COR1:2000)。3009は本文の翻訳はしていない「要約JIS」であった。2012年1月20日を以って「国際規格周知を目的として要約JISを発行したが,周知としての目的は終了したため。」として廃止されている。規格は、その後、2005年と2012年にも改訂されている。リファレンスマニュアルなどでは慣例的に3スペース(空白3個)のインデントが使われている。大文字と小文字を区別しないが、識別子は慣例的に単語の先頭を大文字にして、さらに単語間をアンダースコアでつなぐ(キャメルケースとスネークケースの併用)。パッケージを取り込む。節で指定することでパッケージ名の修飾を省略することも可能。最近[いつ?]の利用例としてはF-22戦闘機や97式魚雷などがある。この分野でもAdaの陳腐化が進んでおり、F-35戦闘機以降はC++へ移行している。民生品ではあまり利用されていないが、信頼性を重視する航空機の制御ソフトウェアに利用されることがある。例としてはボーイング777など。先進的ということは、言い換えれば「こなれていない」ということであり、兵器のようなシステムでは冒険的過ぎると言えなくもない。complicatedにするというものである」という文章でも知られる。3.0のもとで利用可能です。プライバシーデスクトップ。