C言語はプログラム言語の基本なのでわかりやすく解説
C言語とは、機械やロボットを動かすためのプログラムの総称を「C言語」と言います。
言語には、C言語のほかにいろいろな種類があって、Java言語や、Javascript言語なんてのもあります。
いろいろな言語の中でもC言語というのは、実行が速く、プログラムが結構自由に書けるので とても便利で広い分野で活用されています。(もちろん欠点もあります。)
いろいろなことでは実感がわかないので具体例としていえば、
・自作ゲームを作れる(1~2年ほど勉強すれば)
・工場などの機械はC言語でプログラミングすることによって動いているものもある。
・複雑な計算が一瞬でできる などなどです。
C言語などのプログラミングを習得するにはかなりの時間がかかりますが、 使いこなせるようになれば、機械がどう動くかを指令したり、ゲームプログラムを作ることだって出来ます。
結論として言えば、C言語は、機械などを動かすための命令だということですね。
[C++] C++は、C言語の仕様にオブジェクト指向の仕様(特にクラスという仕様)を付け足した言語です。
各種プログラム言語は、ハード(コンピュータ)と人間の中間で、両者間の通訳をする立場のものですが、オブジェクト指向という技法によって、より人間に近い考え方でプログラミングが可能になりました。
その結果、汎用性や自立性のあるプログラムが、C言語よりも作りやすいです。
具体的には、自分で作ったプログラム部品(クラス)に対して、+、-、=等の演算子に対する処理を定義できます。
すなわち、C言語の構造体でも、ユーザー定義型という言い方をしますが、C++のクラスでは、本格的な自作の型を定義できます。
また、ポリモーフィズム(多能性)により、実行時(コンパイル時ではなく実行している最中)に、必用なプログラム部品(クラス)を選択してリンクすることも可能です。
[C#] C#は、C++から派生したと言っても良いのかも知れませんが、CとC++が互換性が高いのに対し、C#は少し異種な存在です。
2.
C#は、C++にVB的な要素を取り入れた言語だからです。 これは、Javaに対抗するためにC#が誕生したと言う人も多くいます。 Javaは高度なプログラミングもできる上級者向けの言語ですが、その反面、VBのように初心者にも優しい言語だからです。
しかし、それよりもC#は、.NETテクノロジーでの開発をするために、C++を改良した言語とも言えます。 .NETという新テクノロジーでの開発をするには、C++の標準仕様だけではなく、.NETの独自仕様も取り入れなければなりません。
「それならば、いっそうのこと新しい言語を誕生させてしまえ」という経緯の言語がC#です。 そのため、.NET時代の初期では、マイクロソフト社は、C++プログラマーがC#に移行してほしいという雰囲気をプンプンさせていました。
[C++/CLI] マイクロソフト社は、C#の仕様を、C++プログラマーが移行しやすい仕様にしたのでしょうが、それでもC++プログラマー達の多くは抵抗感がありました。
思わくが外れたマイクロソフト社としては、C++プログラマー達を.NET仕様での開発に巻き込むために、前述した「.NET仕様を取り入れたC++仕様」をVisual Studio 2005(.NET Framework 2.0)で正式に取り入れました。
この「.NET仕様を取り入れたC++仕様」のことを「C++/CLI」と言います。 C++/CLIも、標準化機関に登録されていますので、C#と同様に「新言語」とも言えますが、どちらかと言うと、C++プログラマーが.NET仕様での開発をするための単なる「機能」という感じもします。
単なる機能とは言いましたが、それは形態的な意味で言っただけであって、かなり奥深く、Webサービスの開発も可能です。
C++/CLIのことを(もしくはVC++.NET自体のことを)、旧仕様の資産を.NET仕様で生かすためだけに存在するような印象を持っている人達もいるようですが、それは機能のひとつに過ぎません。 C++/CLIは、C++プログラマーが.NET仕様での開発を行うための機能です。
- ショートカットキーできる人ほどよく使う!時間短縮で仕事を効率化
- 【保存版】日常生活で普段使える豆知識のまとめ
- パソコンでネットの閲覧制限を行っている企業が増えている
- 絶対知っておきたい!パソコン関連の用語集まとめ