11
10

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

ロボットやハードウェアの制御は、C言語なら最適なのに、C +やC #、それ以外のプログラミングでは、あまり適さないのはどういう理由がありますか?

Last updated at Posted at 2026-01-25

その分野ではC++や他の言語もかなり使われてますよ。全体としてはCの方が少数派です。

ロボット制御開発では一般的にC++が使われています。またAIなどカメラやセンサーからの入力を分析して推論するロボットの場合、Pythonがよく使われます。それぞれの言語の得意分野を組み合わせて使うのが今どきのロボット開発ですね。 この分野の言語シェアとしては、ハードウェア制御のC++とAI制御のPythonが二強、シェアは小さいものの下層のドライバ群はC、って感じです。

なお、パソコンのハードウェアを制御するWindowsは主にC++で書かれています。実はOS本体こそハードウェア制御の代表です。 最近Microsoftは社内の使用言語をRustに乗り換える宣言をして注目を集めましたが、上記の通り膨大なコード資産が社内に存在するため、今後少なくとも数十年はC++も並行して使っていくことになるでしょう。

他にも大手メーカーが開発するエレベーターやエスカレーター、空港の電光掲示板、駅の改札、オービスや渋滞監視装置など、街中で見かける 社会インフラ系のハードウェア制御システムのほとんどはC++製です。あと今どきのハードウェア制御を語るのに欠かせないのはゲームエンジンですね。これもほとんどC++製です。 UnrealEngine、Unity、Godotなど、有名どころのゲームエンジンはみんなそうですね。

これら大企業が自社製品向けに使用するプログラムはオープンソースとして公開される機会がほぼありません。Linuxで使用されているCと比較してC++の存在感が薄く見えるのは、ただ公開されていない(できない)だけの理由です。C++製で有名なオープンソースといえば、データベースのMySQLと、ゲームエンジンのGodotくらいでしょうか。

あ、ただし、産業用のアームロボットはメーカー各社の専用(スクリプト)言語が使用されるのが一般的です。利用者が直接C++を書くことはありませんのであしからず。

比較的大規模向けのC++に対し、Cは小規模なハードウェア制御に使用されます 。身近な分野だと家の中の小さな家電、電気ポットや炊飯器、リモコンなどですね。これは数十円から数百円前後のICチップ1つで動作するため、OSも搭載しません。このタイプのチップではCかアセンブリしか使えません。

ちなみにPythonは、低速なスクリプト言語なのに珍しくロボット系の開発でもよく使われています。 PythonはCやC++と比較してびっくりするほど遅い言語ですが、文法が英語の論文に似ていて本職のプログラマーではない研究者(科学者)にも読みやすく、長年根強い人気があったからです。

Pythonは標準でC++で外部ライブラリを書く機能を提供していて、AIやハードウェア制御など速度が必要なライブラリは多くがC++製です。ロボットやハードウェア制御の初心者向けキットではPythonを使用するものが多いので、新たに挑戦するならPythonもいいですよ。最近人気のラズパイ(ラズベリーパイ)なんかはPython向けライブラリも提供しています。

結局、ハードウェア制御のプログラムでも意外といろんな言語が選択できるんだよって話ですね。参考にしてください。

11
10
2

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
11
10

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?