質問: コンピュータ業界で営業をし始めた新人です。 プログラマーの皆様には簡単な質問かもしれないのですが・・・ 組み込みソフトってC言語の使い方を知っていれば開発できるものなのですか? それとも、C言語がどうやって作られていて、その中身がどうなっていて、 ということまで知っていないと開発できないものなのでしょうか? それと、この際ぜひ教えていただきたいのですが、 (1)C言語のもとになっているような言語というのはあるのでしょうか? (2)C言語にバグがあるってことはあるのでしょうか? 誰かわかりやすく教えてください。よろしくおねがいします。
回答: 「組み込みソフト」とは「組み込みプロセッサ上で動作するソフトウェア」の ことを指しています。 で、組み込みプロセッサって言うのが、 一般的に知られている、ペンティアムのようなものではなくて、 電子レンジやDVDプレイヤーなどに入っている小さなプロセッサのことです。 質問の本題ですが、 C言語で開発できるかどうかは、そのプロセッサ次第です。 そのプロセッサ用のコンパイラがあればC言語で開発できますし、 コンパイラがなければ、マシン語で書かなきゃいけません。 組み込み用として、実績のあるプロセッサ(ARMなど)ならコンパイラがあると思いますが、 自社で開発中のプロセッサということでしたら、ない可能性が高いと思います。 仮にコンパイラがあったとして、話を進めますが、 (1)(2)に関しては、意識する必要はないです。 どこかにバグがあるとしたら、コンパイラに問題があることがほとんどです。 C言語がどうなっているかよりも、どういうプロセッサを使っているのかを、 考えた方がいいと思います。 例えば、関数呼び出しのオーバーヘッドは?ループは何重までできる? みたいなことの方が重要です。