言語について

数年前、Keilコンパイラベンダー(現在はARMが所有)は、Embedded Systems Programmingマガジン(後にEmbedded Systems Designとして知られるようになり、現在はembedded.com)に新しいコンパイラ:8051用COBOLに関する発表を掲載しました。

それは冗談で、4月号に掲載されました。 なんてばかげてばかげた製品のアイデアでしょう! 組み込みシステム用のCOBOL? 8051用のCOBOL! 私は会社の社長に電話し、彼にすばらしいジョークを祝福しました。

そして、彼は彼らが配達要求を受け取ったと私に答えた!



この例は、組み込みシステムの言語を選択する際の特定のアプローチを特徴づけています。 期待は現実よりも重要です。



言語に関する議論をそのまま見ることなく、Slashdotまたは同様のWebサイトを読むことはできません。 Dは、コードを記述するための最新の優れた方法です。 それともスウィフトですか? 私は、C#でのファームウェア開発に関する情報を必要とする人々から電子メールを受け取り続けています。 全世界がJavaに向かっているということを誰かから聞くことは珍しくありません。そして、これを行わない人は永遠に遅れをとるでしょう。



本当に何があるの? 組み込みシステムの世界では、最初の概算では、CとC ++の2つの言語のみが使用されます。 Embedded.comのデータは、読者が使用する主な言語を示しています(画像を構成できませんでした。2005年から2013年にかけて、元のC約60%、C ++約20%を参照)。

驚くべきことに、C ++はCにも追いつきません。



言語を選択するときは、開発者の可用性を考慮する必要があります。 言語に堪能なエンジニアを雇えない場合は、長くて費用のかかるトレーニングに頼るか、失敗に備えてください。



私はかつてスウェーデンでC ++で行われたdr死のプロジェクトを手伝うよう招かれました。 言語はこのアプリケーションに適度に選択されていると思いました。 しかし、なぜこの選択​​が行われたのですか? 同社の副社長は、C ++が開発を加速し、コードの再利用を容易にすることをBusiness Weekで読んだため、それを使用することを主張したと語った。

同社には40人の開発者がプロ​​ジェクトに関与しており、最近の卒業生を除く全員がオブジェクト指向プログラミングの経験がありませんでした。 残りの39人は作業中に学習を試みました。 これが災害への道です。 彼らはプロジェクトを進めるにつれてスキルを身につけました。 製品が配送用ではない場合、すべてが正常に動作します。



Sは30年間このスペースを占有しており、彼が去る兆候はありません。 彼は現時点で最良の選択を表しています。 私たちがエイダに、あるいはもっと良いことに、スパークに行けたらいいのにと思います。 しかし、十分な数の訓練されたエンジニアが利用可能になるまで、これは起こりません。



CとC ++は永遠に一緒にいると思いますか?



All Articles