メール
電話
メニュー
組み込みとC言語
C, C++, C#, Ruby, ActionScript, Java, Swift, Objective-C…いまの世の中にはソフトウェアを開発するためのプログラミング言語が色々と存在しています。
例えばみなさんが持っているスマートフォン。数千、いえ数万のアプリケーションがリリースされていて、インターネットにさえつながっていればいつでもどこでもダウンロードできる。そしてその場で便利な機能が使えてしまう!少し昔の世の中では考えもつきませんでした。 ところで、そのスマートフォンアプリのシステム。どんなプログラミング言語で開発されているか、ご存知ですか?
AndroidアプリはJava、iPhoneのアプリはSwiftまたはObjective-Cというプログラミング言語が使用されています。この言語、私はコーディングしたことがありません。私のような組み込みソフトウェア開発のエンジニアは、このような高級言語はあまり使う傾向に無いのです。
組み込みで使用する開発言語と言えばC言語。やはりC言語が一番多いです。おそらく世界のどこでも、組み込みのソフトウェア開発に使う言語と言えばC言語に尽きると思います。
関連情報 ソフトからハードまで一貫して開発!最適なソリューションをご提供> 詳しくはこちら
古くは1972年頃、UNIXの開発から生まれたC言語。もう40年以上の歴史のある古い言語です。そもそもC言語の'C'とは何でしょう?C言語ってことは、A言語とかB言語とかあるの?と思う方もいるかと思います。C言語はB言語の次に作成されたから「C言語」となり、'C'自体には特に意味がありません。B言語の元とされたものはBCPL、その元となったのはCPL……はい、A言語は存在しません。また、近年ではD言語というものも開発が進んでいるそうです。 その後、K&Rと呼ばれるものや、ANSI、ISOなどで標準化が進み、最終的に1999年に現在一般的に使用されている「C99」と呼ばれている標準規格となりました。(※規格の改訂はその後も行われています)
ではなぜ40年以上前に開発された言語が、今でも組み込み開発の世界で使われ続けているのでしょうか。組み込み開発の得意とする富士ソフトでプログラミングを担当するソフトウェアエンジニアに聞いてみました。
<鋭い眼差しでソースコードを記述するエキスパートエンジニアが解説!>
関連情報 自動車制御、医療機器、産業機器まで富士ソフトの組み込み開発事例をご紹介!> 詳しくはこちら
「C言語は、アセンブラレベルと同等の処理を簡潔に記述でき、またJavaなどに代表される他の高級言語にあるような暗黙のコード生成やバックグラウンドで動く処理が無い。プログラマが意図したコードだけがコンパイラで生成されるため、実行ファイルが肥大化してしまうことも無く生成コードに無駄がなくコンパクト、かつ処理速度も高速である。そのため、特にハードウェアを操作するファームウェアや、スループットを保証する必要があるリアルタイム処理、プログラムサイズをコンパクトに収める必要がある小型MCUのソフトウェア開発に向いている。だからと言って、C言語は組み込みだけに特化している訳ではなく、GUIや複雑な上位アプリケーションの実装も可能。オールラウンドで使用可能な言語がC言語なのである。
歴史が長いため、C言語で記述された既存資産が多く、今、組み込み系のOSで主流となっているLinuxもほぼC言語で設計されている点も理由に挙げられる。また、ANSI/ISOで標準化されているため、開発環境など多くのベンダーがサポートしており、互換性がとれるところも広く使われる理由と考えられる。」
<要するに、これが理由っ!>
その① コードが軽いので、資源が少ない環境や、制御などにリアルタイム性が要求される組み込みに最適な言語! その② 開発資産や主流のソフトウェアがC言語でできている!
やはり長年の歴史をベースとして普及してきていて、エンジニアの手足のように思い通りに動作するC言語。しかも、世界中でC言語を扱うエンジニアが他の言語に乗り換えるには、多くの時間とコストが必要とされるでしょう。組み込み開発でも、他の言語に乗り換えるには大きな壁が存在するように思えます。
関連情報 最先端の組み込み技術で「すべて」をかなえる富士ソフトの組み込み開発力> 詳しくはこちら
組み込み開発を徹底サポート!お問い合わせはこちらから
組み込み開発者のためのFPGA教本
組み込み技術とは
Androidアプリ開発
SDカードの深い話
IoT面白ガジェット
変わらなきゃっ!日本の組み込み開発
まこちゃんの海外ベンダ交渉日記
ストレージ技術動向
お急ぎの場合、お電話でのお問い合わせも承っております。TEL:050-3000-2102(インダストリービジネス事業部)までご連絡ください。
フォームが表示されるまでしばらくお待ち下さい。
恐れ入りますが、しばらくお待ちいただいてもフォームが表示されない場合は、こちらまでお問い合わせください。
お急ぎの方はこちらから
お探しの組み込み製品はキーワードで検索!