C#の歴史とルーツを辿る|背景を知ってC#を深く理解しよう

C#ですが、聞いたことはあるけどどのような言語かいまいちわからないという部分も、あると思います。そこで今回は、C#言語の特徴と登場した歴史背景を簡単に見ていきたいと思います。歴史という観点からC#を見てみることで、何か新しい発見があるかもしれませんよ。

C#の特徴

まずは、簡単にC#の特徴を見ていきたいと思います。

C#は、2000年にMicrofoftによって開発されたオブジェクト指向型のプログラミング言語です。マイクロソフト社が提供する開発プラットフォームの.NETFramework上で動作します。プログラムは、IL(IntermediateLanguage)と呼ばれる中間コードにコンパイルされて実行され、.NETFrameworkの実行環境があればwindows以外のOSでも使用が可能です。(※1)

C#の歴史とルーツ

次に、C#の歴史背景を見ていきたいと思います。C#は、C言語とC 言語の流れを汲んで生まれました。

ベースとなるC言語は、DennisRitchieに開発され、1970年代に爆発的に普及してきました。当時人気のC言語でしたが、オブジェクト指向をサポートしていないとういう問題点が1つありました。

そこで、1983年にAT&T社ベル研究所で誕生したのが、C言語にオブジェクト指向プログラミングをサポートするための改良が加えられた、汎用プログラミング言語Cでした。

その後C の後継言語として開発効率を向上させ、C、C 、Java、VisualBasicの良いところ集め改良された誕生したのがC#です。マイクロソフト社はC#を「Cの威力とVBの生産性を兼ね備えた言語」と位置付けています。(※2)

C#が誕生した歴史背景には

C、C、Javaなど様々なプログラミング言語が存在する中、C#が後継言語として誕生した理由は、どのプログラミング言語にも長所や短所があるからとだ言えます。

Cは、高い自由度で高機能な記述が可能ですが、メモリの自動管理機能がないため、メモリを大量消費してしまう問題などがあります。またJavaは、どのようなプラットフォームでも実現できるので、最大公約数的な機能しか利用できず、プラットフォーム固有の機能を利用するのには向いていません。更に、どんな軽い処理でもJVMを仲介するので、起動するのに時間がかかるという問題もあります。

他のプログラミング言語同様、C#にも動作環境がフレームワークに限定されるというデメリットがあります。このように各言語とも短所や問題点があるため歴史の中で改良や改善を繰り返し新しい言語が生まれてきたといえます。(※3)

終わりに

いかがだったでしょうか?今回は、「C#の歴史」に焦点をあてながら、簡単にその特徴と歴史を振り返ってきました。現在でもプログラミング言語戦争が終わらない様に、完璧な言語を探すというのは難しい問題です。各言語の特徴を踏まえながら、自分の環境に合う適切な言語選びが重要なのです。