Technology
C系プログラミング言語(C/C++/C#/Visual C++)
(Cけいプログラミングげんご)
C言語
C系プログラミング言語とは、C言語を起点として発展した、またはCに近い記法を持つプログラミング言語や開発技術の総称です。
C、C++、C#、Visual C++は、同じ言語の新旧版ではありません。Cは組込み開発やハードウェアに近い制御、C++は大規模で構造化されたソフトウェア、C#はWindows・.NET上のアプリケーション開発に適しています。Visual C++は言語そのものではなく、Microsoftが提供するC/C++用の開発環境・ツール群です。
C言語
C言語は、処理速度やメモリ使用量を意識したプログラムを記述しやすく、マイコンや組込み機器の開発で広く用いられます。
ハカルプラスでは、組込み機器用ソフトウェアの開発言語として主にC言語を使用しています。計測値の取り込み、演算処理、通信制御、操作入力、表示出力、異常監視などに利用します。
C++
C++は、C言語を基礎としながら、クラス、継承、テンプレートなどの機能を備えたプログラミング言語です。複雑なソフトウェアを機能単位に分けて管理しやすく、再利用性を高めやすいことが特長です。
ハカルプラスでは、組込み開発でC言語を使用するケースが多く、C++の採用は限定的ですが、対象機器や既存ソフトウェアに応じて使用することがあります。
C#
C#は、Microsoftが開発した.NET環境向けのプログラミング言語です。Windows上で動作する監視画面、設定画面、実績管理、帳票出力、データベース連携、通信処理などに適しています。
ハカルプラスでは、パソコンをベースとした一部のソフトウェア開発でC#を使用しています。
Visual C++
Visual C++は、Microsoftが提供するC/C++用のコンパイラ、ライブラリ、デバッガなどを含む開発環境です。Windows向けソフトウェアで、既存のC/C++資産を利用しながら、高速処理、通信、画像処理、機器制御などを実装する場合に使用されます。
計量・制御システムでの使い分け
計量・制御システムでは、組込み機器の内部をC言語、FAパソコン上の管理ソフトウェアをC#やVisual C++、画面主体のアプリケーションをVisual Basic .NETで開発するなど、複数の言語を組み合わせることがあります。
言語選定では、制御対象、応答速度、OS、CPU・マイコン、通信方式、データ保存、画面構成、既存設備との接続、将来の保守まで含めて判断します。
言語選定で注意すべきこと
新しい言語や開発環境を採用すれば必ず良いシステムになるとは限りません。既存設備との互換性、保守期間、開発者の確保、ライブラリの供給状況、ライセンス、更新方法、ソースコードと設計資料の管理などを確認します。
既設ソフトウェアを改修する場合には、使用言語だけでなく、開発環境のバージョン、ビルド条件、外部ライブラリ、通信仕様、データ形式、接続機器を把握する必要があります。
ハカルプラスの対応範囲
ハカルプラスでは、顧客の要求仕様、使用機器、OS、制御対象、既設システムの構成に応じて、適切なプログラミング言語や開発環境を選定します。
ソフトウェアだけでなく、計測回路、組込み基板、制御盤、PLC、計量コントローラ、タッチパネル、FAパソコン、通信、データベースまで含めてシステム全体を検討します。
よくある質問
Q. C、C++、C#は同じ言語ですか?
A. それぞれ別のプログラミング言語です。記法に共通点はありますが、設計思想や得意な用途が異なります。
Q. Visual C++はプログラミング言語ですか?
A. 言語ではなく、Microsoftが提供するC/C++用の開発環境・ツール群です。
Q. 組込み機器でC言語が使われる理由は何ですか?
A. ハードウェア資源を扱いやすく、限られたCPU性能やメモリ容量でも効率よく動作するプログラムを作りやすいためです。
Q. 計量・制御システムで複数の言語を使うことはありますか?
A. あります。組込み機器、FAパソコン、画面、データベースなど、役割に応じて使い分けます。
Q. 古いVisual C++で作られたソフトウェアを更新できますか?
A. ソースコード、開発環境、使用ライブラリ、対象OS、接続機器の仕様を確認したうえで検討します。
関連ワード
・Visual Basic系プログラミング(Visual Basic .NET/VBA/Visual Basic)
・Python
・Web・データ記述系技術(HTML/CSS/JSON/XML/JavaScript/PHP/Perl)
・Linux
・μITRON
・μC3
・Windows10 IoT
・SBCの組込み