皆さんは、世の中にどれくらいのプログラミング言語が存在しているかご存知でしょうか?「50個!」いえもっとたくさんあります。「じゃあ、100個!」まだまだたくさんあります。答えは「200以上」です。
個人的に開発されたものまで合わせると200種以上だと言われており、実際の数は定かではありません。ただし、ソフトウェア開発やアプリケーション開発など、現代のIT業界において使われているプログラミング言語はその10分の1程度です。
本稿ではその中の、「C#(シーシャープ)」というプログラミング言語について解説しています。マイクロソフトが開発したプログラミング言語であり、Windows向けアプリケーション開発に使用される言語と認識している方も多いでしょう。
しかし実際は、Windows向けアプリケーション以外にもMac OSやiOS、Androidといった他のOSに対応しているのに加えて、Webアプリケーションも開発できる汎用的なプログラミング言語なのです。この機会に、C#に対する理解を深めてみてください。
C#ってどんなプログラミング言語?
特徴1 オブジェクト指向言語である
C#はマイクロソフトが開発したプログラミング言語であり、C++やJavaといった世界的に使われている言語と同じ「オブジェクト指向」を採用しています。オブジェクト指向とは簡単に説明しますと、「独立性、再利用性、拡張性を実現するためのプログラミング言語」です。
オブジェクト指向が登場するまでの開発現場は、プログラムを追加したら他のプログラムに影響が出たり、プログラムの一部を修正したら他の部分での修正が必要になったりといった問題が日常茶飯事に発生していました。そこで開発されたのがオブジェクト指向の開発方法であり、部品を作成しモノを組み立てるようなイメージでプログラムを作成していくため、それぞれの独立性、再利用性、拡張性を実現することができます。
特徴2 C#の文法はJavaと似ている
C#の文法はJavaに似ている部分があり、C#を使った経験があれば少し学習するだけでJavaも扱えるようになるのが特徴です。もちろんその逆も然りです。
特徴3 Visual Studioが使えて、GUIアプリ開発が簡単
IDE(Integrated Development Environment:統合開発環境)であるVisual Studioを使うことで、フォームにボタンやテキストボックスを張り付けて簡単にフォームアプリケーションを作成でき、綺麗なGUIアプリケーションを作成したいというプログラミング学習初心者におすすめできます。
特徴4 マイクロソフト、Windowsとの相性が良い
C#はマイクロソフトが提供する各種ツールによって開発がサポートされているため、初心者でも使いやすいプログラミング言語として知られています。また、Windows向けアプリケーションやマイクロソフト製品群との連携などを開発するのには特に向いているでしょう。
特徴5 C#で作られている代表的なサービスはMSNやBing
ちなみにC#で作られている代表的なサービスといえば、マイクロソフト公式のポータルサイトであるMSNや、検索エンジンのBingなどがあります。
後述するUnity(ゲームエンジン)まで含めれば、ポケモンGoやShadowverseなどの人気ゲームもC#を使って作られたサービスであるといえます。
C#で何ができる?
GUIアプリ開発
C#は2000年の登場以降、マイクロソフトが持続的に開発を続けていることから新しい機能に次々と対応しています。IDEのVisual Studioが開発をサポートするため、綺麗なGUIフォームアプリケーションを簡単に作成できるのが特徴です。さらに、フォームにボタンなどのコントロールをドラッグ&ドロップで配置するだけで、簡単にアプリケーションを作成できます。
Webアプリ開発
C#ではこの他に、ASP.NETというWebフレームワークを使用して、Webアプリケーションを開発することも可能です。Webフレームワークとは、Webアプリケーションを制作するために必要な機能を詰め合わせたツールのことです。ASP.NETでもVisual Studioを使えるため、フォームアプリケーションを作成するのと同じように、ボタンなどのコントロールをドラッグ&ドロップで配置し、簡単にWebアプリケーションが開発できます。サンプルも用意されているので、サンプルを参照しながら開発を進めることも可能です。
ゲーム開発
一方、Unityというゲームエンジンを使うことでゲーム開発も行えるのがC#の特徴です。Unityはユニティー・テクノロジーズ社が提供するゲーム開発プラットフォームであり、3Dゲーム開発の手軽さと物理エンジンが有名です。2Dゲーム開発にも対応しています。
クロスプラットフォーム開発
さらに、Xamarinという開発ツールを使うことでクロスプラットフォームにも対応します。これにより、C#でWindows、向けアプリケーションだけでなく、Mac OSやiOS、Android向けのアプリも開発できるようになっています。従来のC#といえばWindows向けのプログラミング言語でしたが、Visual Studio for Macもリリースされたことで、MacでもC#を使った開発が行えます。
C#を使うメリット
言語機能、ライブラリ
プログラミング言語として長い歴史を持つC#は、言語としての機能が豊富に備わっています。特にバージョン3.0から導入されたデータを扱うためのLINQ(Language INtegrated Query:統合言語クエリ)や、関数の簡略記法であるラムダ式は、冗長な記述を減らすことで生産性向上に貢献します。ただし、プログラミング学習初心者には難しい機能もあるので、まずは基礎を学ぶ必要があります。
さらに、C#の開発環境である.NET FrameworkにはBLC(Base Class Library:ベースクラスライブラリ)と呼ばれる、マイクロソフトによって作成されたプログラム群が用意されています。たとえば、インターネットからファイルをダウンロードしたり、メールを送信したりするプログラムを自分で作成しなくても、BLCから引っ張るだけで簡単に実行できます。
開発環境(Visual Studio)
そしてC#のメリットはやはり、開発環境としてVisual Studioが提供されていることです。Visual Studioは非常に優れた自動補完機能により、生産性を向上させる機能を備えています。一般的にC#はVisual Studioと一緒にインストールされるので、通常はVisual Studio上で開発することになります。
個人的にプログラミング言語学習する場合は、Visual Studio Communityと呼ばれる無料かつ高機能なIDEが使え、プログラミング学習を簡単に始められるのもメリットの1つです。
参考書籍
書籍も多く出版されているので、本格的に学習するための環境も整っています。
さいごに
マイクロソフトが開発しているC#は、高度な開発が行えるプログラミング言語であり、かつC++やJavaより開発難易度が低いため、身に付けておきたいプログラミング言語としてオススメできます。
汎用性が高いので、最初に学習するプログラミング学習として選択してみるのも良いのではないでしょうか?
- カテゴリ: