さて今回は、『C#の歴史』についてご説明していきます。そもそもC#(シーシャープ)とは、JavaやPHP、Perlなどと同じ、プログラミング言語の一種です。今なお需要の大きいC#ですがこれまでの歴史を知ると、より一層、その将来性を感じていただけることでしょう。「C#に興味がある」「最近、C#を勉強し始めた」といった方々は必見です。それでは早速参ります。
C#の誕生は比較的最近です。2002年に正式リリースされたばかりの、新興言語といえます。この言語の開発者は、アンダース・ヘルスバーグ(Anders Hejlsberg)氏。こちらの方はデンマーク出身の、ソフトウェアエンジニアです。その他にも『Turbo Pascal』という統合開発環境の、原作者でもあります。
聞きなれない言葉が並んでいるので、簡単に触れますと『Pascal』とはプログラミング言語のことです。C言語と同じALGOLの流れをくんでいます。この言語は、構造化プログラミング(個々の処理を小さな単位に分解し、階層的な構造にしてプログラミングすること)に適していると言われています。統合開発環境とは、コンパイラやテキストエディタ、デバッガなどを、一つにまとめて行える便利なモノを言います。
さて彼は1996年に、かの有名なマイクロソフト社へ移籍しました。その頃に開発された言語がC#。つまりは広く言うと、C#はマイクロソフト社が作った言語ということです。
名前からも想像ができる通り、C#はC言語をベースに設計されています。そのC言語の特徴としては、何と言っても汎用性の高さが挙げられるでしょう。現在でも業務用システムや、フリーソフトウェア開発など、非常に幅広い場面で利用されています。
その有用性の高さは、誰もが認めるC言語ですが、一方でオブジェクティブ指向の考え方が存在しないという問題も抱えていました。その問題を解消しようと試みたのが、C#の開発に乗り出したそもそものきっかけです。何故そのようなことをする必要があったのか。それは、当時の時代背景が大きく関係しています。
お伝えした通り、2002年に正式リリースとなったC#。その前後は、まさにインターネットが爆発的に普及している時代でした。
IDES開発技術学会の『世界全体のインターネット普及率とパソコン設置台数の将来予測(2012)』によると、1990年ではアメリカでのインターネット普及率はほぼ0%。それが5年過ぎた1995年には10%にまで増加します。そしてさらに5年後の2000年には4倍の40%。2005年には80%近い普及率の伸びを見せています。
さてここで『インターネットの普及とC#との関係性」を見る前に、普段の生活の中で利用する、インターネットのことを振り返ってみてください。会社のPCで利用するインターネットと、自宅で使うPCのそれとで、何か違いを意識したことはあるでしょうか。
おそらくは「MacかWindowsか」、もしくは「接続のスピードが早いか否か」といった内容くらいではないかと思います。要するに基本的にはどんな環境であれ、ほぼ同じように動作はしますよね。
何故ならば、その裏で様々な仕組みが機能しているからです。少し難しい言葉を使うと、『常に統一的なインターフェースが提供されること』や『サーバの変更といったシステム構成の変化を柔軟に行えること」などが関係しています。オブジェクティブ指向は、こういった要件を満たすのにとてもマッチした考え方だったのです。
難しい話を抜きにすると、WWW(world wide web)の世界を発展させるためには、オブジェクティブ指向を持ったプログラミング言語が必要だったのです。
数あるオブジェクティブ指向言語の中でもC#は、非常に重要な役割を果たす存在でした。マイクロソフト社が2002年に正式リリースした『.NET Framework』を支える言語だったからです。
むしろこの『.NET Framework』の機能を強化していくために、C#を生み出したとも言えます。これは、同社が「これからの主流となっていくと予想した”インターネット時代”に対応するため」に作られたものです。XML(※)仕様をベースに、プログラムをパーツごとに開発をおこなったものです。
※XMLとはデータをわかりやすくしたり、データを交換したりする際に役立つマークアップ言語を指します。一緒ではありませんが、皆さんご存知のHTMLと似たものです。
念のため『.NET Framework』をとても簡単に説明すると、あるプログラムを効率よく開発するために用意された、部品の集まりに近いと言えます。例えば、何かプログラムを作ろうと考えたとします。その時、プログラムを毎度イチから作り上げていくのは、非常に手間がかかります。ですが、あらかじめ用意されたパーツを組み合わせて、必要な箇所だけ、オリジナルのプログラムを書いていけば、開発の時間が短縮されます。
その利便性と、そもそも母体が大きなマイクロソフト社が利用するプログラミング言語であったことから、C#は存在感を増していきました。
C#の成長を確かなものにしたのは、2007年後半。C#3.0へバージョンがアップデートされたタイミングでした。最初にリリースされたC#1.0の時と比べて、コードが簡潔に書けるようになったのです。開発効率が上がったのはもちろん、書いたコードが読みやすくなりました。その後も改善が重ねられ今なお進化を続けています。わかりやすい指標としてバージョンだけで見ますと、最新で7.0までアップデートが行われています。
現在C#は、スマホアプリやデスクトップアプリ、webアプリなど、実に様々な場面で活用されています。そのほかではゲーム開発の分野でもC#は使われています。ゲームエンジンで有名なUnityで使えるプログラミング言語は3種類ですが、そのうちの一つがC#です。
またC#は、リリース当初から「開発者のレベルや開発対象領域の間でギャップを作らないこと」を理念に掲げています。同言語で開発されたプロジェクトは非常に多く、それに伴いC#を得意とするエンジニアも増えてきました。そういった背景から、人が集まるところに人が集まる、という好循環を生んでいるのが現状です。現在も多くのエンジニアに愛用されている言語です。
マイクロソフト社が開発したC#。同社がリリースしたサービスの中でも多く使われています。知らない人はいないであろうskypeや、検索エンジンのBingなどがその一例です。その同社が推奨し、今なお開発の現場で利用されている言語であることを考えれば、「明日いきなりC#が消え去った」なんてことにはならないことが容易に想像できます。
もちろんそれは、C#の便利さ、有用性があってこそ。みなさんも気になる方はぜひ、C#を始めてみてはいかがですか?
3つの質問に答えるだけで、フリーランスエンジニアとしての単価相場を算出します。 スキルやご経験にマッチする案件もあわせてご紹介いたしますので、気軽にご活用ください! ※単価相場の算出に個人情報の回答は必要ございません。