C言語、C++、C#の違いとは?プログラミング初心者にも分かりやすく解説

似てはいるが、それぞれ別のプログラミング言語

C言語、C++、C#は、名前が似ていますが、それぞれ別のプログラミング言語です。 C言語とC++には互換性があり、C言語のソースコードはC++でも再利用できます。 C言語やC++ と、C#には互換性がありません。

最初に公表された時期は、C言語が1972年、C++が1983年、C#が2000年です。この順番に、それぞれの生い立ちと特徴を見ていきましょう。

C言語とは

C言語が最初に発表されたのは 1972年です。

C言語は 、AT&Tベル研究所のデニス・リッチーが、 UNIXというOSを開発するために開発したプログラミング言語です。人間が理解しやすいように記述する高水準言語ですが、よりハードウェア寄りの書き方をするアセンブリ言語を埋め込むことも可能です。

C言語は、様々なソフトウェア開発、OS開発、家電への組み込みプログラムなど、幅広い分野で利用されています。

C++(シープラスプラス)とは

C++が最初に発表されたのは1983年です。

C++は、C言語を拡張してオブジェクト指向の概念を追加したプログラミング言語です。オブジェクト指向プログラミングを採り入れたことで、多人数・長期間にわたる大規模なプログラムを開発しやすくなっています。

C言語とC++には互換性があり、C言語のソースコードはC++でも再利用できます。 C言語を理解している人にとっては、とっつきやすいプログラミング言語と言えるでしょう。

C++は、OS 、 デバイスドライバ 、 コンパイラ 、 リンカなどの開発に幅広く利用されています。

C#(シーシャープ)とは

C#が最初に発表されたのは2000年です。C#は、 C言語に似ていて書きやすく、C++と同じくオブジェクト指向が採り入れられています。

C言語やC++の長所を採り入れた言語ですから、これらと似たところはありますが、 C言語やC++ と、C#には互換性がありません。そのため、C言語やC++のソースコードをそのまま再利用することはできません。

C#では、ポインタの概念がありません。また、メモリの管理が自動化されておりプログラマがメモリの確保と開放を指定する必要がありません。C言語やC++に比べると、プログラマにとって面倒な部分が少なめで扱いやすい言語と言えるでしょう。

C#はマイクロソフト社が開発したプログラミング言語であり、特にWindows向けのアプリケーションの開発に最適化されているのが大きな特徴のひとつです。

Windows向けのGUIアプリケーション、 スマホ向けのゲームアプリ、業務用システム、などの開発に幅広く利用されています。