Ada について考えるとき、通常はアビオニクスを思い浮かべます。
私が興味を持っているのは、Ada の他のアプリケーションですか? どこで使用されますか?Ada で書かれた出荷済みアプリケーションはありますか?
たとえば、そこに書かれた CRUD アプリはありますか? それともゲーム?等。
Ada について考えるとき、通常はアビオニクスを思い浮かべます。
私が興味を持っているのは、Ada の他のアプリケーションですか? どこで使用されますか?Ada で書かれた出荷済みアプリケーションはありますか?
たとえば、そこに書かれた CRUD アプリはありますか? それともゲーム?等。
Michael Feldman は、すべての種類の軍事および商業プロジェクトをリストした " Who's Using Ada/Real-World Projects " リストを積極的に維持しています。また、彼は寄稿者の秘密を保持しているため、企業スポンサーによって「Ada Inside」プロジェクトとして議論されないプロジェクトがそこに表示されます。
安全性が重要なシステムを除けば、Ada は、非常に大規模なプロジェクトに多くのチームが取り組んでおり、コードの論理ソース行の数が約 100 万または 200 万を超える場合にのみ真価を発揮します。
Ada 言語で定義されたすべての実行時チェックは、少し衒学的で、コード サイズが大きくなりすぎると思われることがあるが、この時点で本当に便利になりました。何百万行ものコードのどこかでバグを修正するのは楽しいことではありません。実行時チェックは、問題を早期に検出し、問題が発生した場所に近づけるのに非常に役立ちます。
残念ながら、Ada 83 または Ada 95 を専門的に使用した多くのソフトウェア開発者は、自分が取り組んだプロジェクトについて話すことができません。航空管制システム (さまざまな国)、鉄道輸送システム (パリの地下鉄や香港の地下鉄など)、銀行/金融 (ロイターなど) の分野でも使用されていると聞いています。
C++ は非常に優れた言語であり、優れた言語であるためその使用を推奨する人もいますが、セグメンテーション エラーやひどいクラッシュが数か月または数年にわたって発生していない場合、C++ でコードを書きたくなることがあります。また...
国防総省の優先言語として誕生したため、国防総省のプログラム全体で使用されています。NASA と FAA も大きなユーザーです。その基盤のために、多くの商用航空宇宙もそれを使用しています (ただし、それはおそらく「安全上重要」です)。たとえば、ボーイング 777 のソフトウェアのほとんどは Ada で開発されたと思います。ヨーロッパの宇宙機関もよく使っていると思います。
とは言っても、実際には十分に使用されていません。たとえば、バッファ オーバーフローのエクスプロイトに対して自然にほとんど影響を受けないため、OS 開発に適した言語であるべきです。
Ada はもともと、米軍のシステムを構築するために使用される非常に多くの言語を統合するための言語として考えられていました。そのため、防衛システムの分野のアプリケーションで多く使用されていることがわかります。このようなアプリケーションの例については、Tokeneerのケース スタディをご覧ください。そのソース コードは現在オンラインで入手できます。
確かなことはわかりませんが、Adaについて多くのことを読んだので、コンパイル時と実行時のチェックがすべて行われるため、物理関連のすべての計算/自動化タスクに完全に適していると思いました(1つのおいしいことは長さと質量など、互換性のない2つの浮動小数点タイプを作成できます。
Ada は、巨大でレガシーな、政府を対象としたプログラムで依然として人気があります。これはVHDLの基礎でもあります。