今日、私の講師は、航空機システムがアセンブリ言語でプログラミングされている理由は、記述されているプログラムのエラーが少ないためだと述べました。このステートメントは本当ですか?彼が私たちの意見について尋ねたとき、私はアセンブリがより速いプログラムを作成できると私は言ったので、それはリアルタイム指向の航空機システムプログラムにとって良い言語です。私はグーグルで検索しましたが、講師の発言を明確にする記事が見つかりません。
今日、私の講師は、航空機システムがアセンブリ言語でプログラミングされている理由は、記述されているプログラムのエラーが少ないためだと述べました。このステートメントは本当ですか?彼が私たちの意見について尋ねたとき、私はアセンブリがより速いプログラムを作成できると私は言ったので、それはリアルタイム指向の航空機システムプログラムにとって良い言語です。私はグーグルで検索しましたが、講師の発言を明確にする記事が見つかりません。
回答:
あなたの講師の発言はおそらく間違いです。主力戦闘機の制御コードはC ++で書かれています。ボーイングの777は99%+ ADAを使用しています。JPLは主にCを使用して宇宙船を運転しています。
他にも例はあると思いますが、多くは独自のものであるか機密のものです。
ここでは、より一般的なレベルでのアビオニクスソフトウェアのテストの主題について詳細に説明した論文を紹介します。
私はさまざまな航空機に接続されるコンポーネントであるOBOGSに取り組んでいます。通常、飛行するデバイスにはCを使用しますが、履歴ファイルを見ると、そこにいくつかのアセンブリプロジェクトがあります。
正直、ファッションです。言語は上下します。人がどちらか一方を使用する理由は場所によって異なり、主に主観的です。他の言語よりもエラーが少ないので、どこかでアセンブリが完全にどこかのプロジェクトの正しい選択であると誰かが主張したことは完全にもっともらしいです。そして、おそらく彼は正しかったのですが、それはその男がCでのコーディング方法を知らなかったからです。間違いなく、仕事に最適な言語はあなたが知っている言語です。(そしてあなたの個人的な成長のための最良の言語はあなたがそうでないものです。)
客観的に言うと、アセンブリはハードウェアに近く、抽象化されておらず、直接的であり、他の言語では同じものに対する命令が多くなっています。頭上をカットして速く喫煙できるようにアセンブリを書くことができる可能性の領域にいるとも言えます。あなたが何をしているか知っているなら。しかし、間違いやすい傾向、開発のスピード、読みやすさ、そして癌を治す能力についてはどうでしょうか。それはすべて、プログラマーの能力と、プログラマーが過去20年間働いてきたことに依存します。どの言語のどのプロジェクトにX個のバグがあるかを測定することは、社会学的要因の影響を受けるため、主に価値のない指標になります。いいえ、それはすべてただのファッションです。
コードの内容を理解しておくのは良いことなので、アセンブリを学ぶことが重要だと言います。少しだけなら。しかし、私はそれにアビオニクスを書きません。