C#はマイクロソフト社が開発・提供するWindowsアプリケーション開発向けのプログラミング言語です。2000年の登場から度重なるアップデートを行い、2020年現在C#バージョン8.0まで迎えております。プログラミング言語の中では比較的新しい部類に入りますが非常に人気の高い言語として有名です。では皆さんはC#の歴史やメリット・デメリットについてご存知でしょうか。この記事ではC#を理解するために初心者でも分かるメリット・デメリット、基礎知識などを簡単に解説していきます。
C#とはマイクロソフト社のアンダース・ヘルスバーグ氏が設計したプログラミング言語です。C#という言語はマイクロソフト社が開発した『.NET Framework(ドットネットフレームワーク)』と共に2000年に誕生しました。C#はマルチパラダイムと呼ばれる複数のスタイルから構成されており中でも、オブジェクト指向が主のスタイルです。言語名にも含まれている通り、C系の言語としてCやC++の影響を受けております。尚、設計者のアンダース・ヘルスバーグ氏が以前設計に携わったDelphiの影響も少なからずあるようです。C#の特徴として『マルチパラダイムでオブジェクト指向が主』、『.NET Framework』、『Windowsアプリの開発に向いている』などが挙げられます。C#はマイクロソフト社が開発・提供していることもありWindowsアプリケーションの開発に非常に向いております。
C#の読み方は『シーシャープ』が一般的となっております。名前の由来は諸説ありますが、モデルとなったC++の発展型でもあることからC++のさらなる拡張(++)を意味して+が4つで構成されているようにも見える#(シャープ)を採用したと言われております。
C言語は2000年に誕生したものでプログラミング言語の中でも比較的新しい部類に入ります。マイクロソフト社が相互運用性、共通の実行環境や言語への非依存性などを目標に『.NET Framework』の開発を行いました。同時期に同社メンバーであるアンダース・ヘルスバーグ氏が中心となってC#の開発を行いました。プログラミング言語の発展に大きな影響をもたらしたC言語の拡張版C++をベースにさらなる拡張、簡略化をしたのがC#だと言われております。C#は歴史こそまだ20年を迎えたばかりですが、数多くのバージョンアップを繰り返しており2020年現在C#バージョン8.0まで迎えております。コンピューター業界最大手のマイクロソフト社が手掛けているだけあり、短い歴史の中で強力な成長を遂げた非常に成熟度の高いプログラミング言語です。
C言語の歴史やメリット・デメリットを解説している記事はこちら>>
年代 | バージョン | 備考 |
2002年 | C# バージョン 1.0 | Visual Studio 2002 と共に 2002年にリリース |
2005年 | C# バージョン 2.0 | Visual Studio 2005 と共に 2005年にリリース |
2007年 | C# バージョン 3.0 | Visual Studio 2008 と共に 2007年にリリース |
2010年 | C# バージョン 4.0 | Visual Studio 2010 と共に2010年にリリース |
2012年 | C# バージョン 5.0 | Visual Studio 2012 と共に2012年にリリース |
2015年 | C# バージョン 6.0 | Visual Studio 2015 と共に2015年にリリース |
2017年 | C# バージョン 7.0 | Visual Studio 2017 と共に2017年にリリース |
2019年 | C# バージョン 8.0 | Visual Studio 2019 と共に2019年にリリース |
Visual Studioとはマイクロソフト社が開発・提供するC#やVisual Basic(VB)向けの統合開発環境(IDE)です。C#の歴史でも触れた通り、Visual StudioはC#と共に成長をしてきております。Visual Studioには開発をする上で必要な全て「コードエディタ」「コンパイラ」「デバッガ」などの様々なツールが集約されております。
Visual Studioの公式サイトはこちら>>
Visual Studioの特徴や機能などを解説している記事はこちら>>
C#のメリットを見ていきましょう。
C#はマイクロソフト社が開発した言語ということもあり同社の手掛ける.NET FrameworkやVisual Studioといった様々なツールとの相性が抜群に良いことからWindowsアプリケーションの開発に最高の相性といったメリットがあります。元々.NET FrameworkはC#と共に誕生したという背景もあり、その組み合わせの相性は言わずもがなです。Windowsアプリケーションの開発を行う際にはオールWindows製品の検討もせずにはいられないでしょう。
前述の通り、C#はマイクロソフト社が提供する様々なツールと合わせて高いパフォーマンスで効率の良い開発に臨むことが出来ます。基本的にフレームワークである.NET Frameworkと統合開発環境(IDE)のVisual Studioの2つを容易すれば開発環境の構築は完了です。
特にこのVisual Studioが統合開発環境(IDE)であることは大きなメリットでして、デバッグ、コンパイル、エディタなど開発に必要なツールが一つの開発環境に集約され統合・統一的に扱えるようになっております。他のプログラミング言語と比較してもこのように環境構築が容易であることがメリットとして挙げられます。
C#では様々なものが開発できるというメリットがあります。基本的にWebアプリケーションとスマートフォンアプリケーションは別々のプログラミングで作成されます。しかしC#ではXamarin(ザマリン)というクロスプラットフォームを活用することでWebアプリケーションとスマートフォンアプリケーションの両方をC#のみで開発することが出来るのです。他にもUnityといったゲームエンジンを利用することでC#でゲームの開発を行うことが出来ます。このように他のプログラミング言語と比較してもこのようにが様々なものが開発出来ることがメリットとして挙げられます。
Xamarinの特徴などを解説している記事はこちら>>
Unityの特徴やゲーム開発で出来ることなどを解説している記事はこちら>>
C#のデメリットを見ていきましょう。
C#はWindows環境での開発に特化したプログラミング言語であるためLinuxやMacでの開発は得意ではないというデメリットがあります。しかし『Mono』という.NET Framework互換の環境を実現するマルチプラットフォームを活用すればLinuxやMacでの開発も可能です。
C#はハード制御をすることが出来ないため、OSの開発をすることは出来ないというデメリットがあります。
C#の基本的な文法を見ていきましょう。
変数では一般的に宣言、代入、参照を覚えておく必要があります。
C#では組み込み型とリテラル型の大きく分けて2つを覚えておく必要があります。
種類 | データ型 | .netデータ型 | 備考 | |
組み込み型 | 整数型 | sbyte | System.SByte | 符号付き 8ビット整数 |
byte | System.SByte | 符号付き 8ビット整数 | ||
short | System.Int16 | 符号付き 16ビット整数 | ||
ushort | System.UInt16 | 符号付き 16ビット整数 | ||
int | System.Int32 | 符号付き 32ビット整数 | ||
uint | System.UInt32 | 符号付き 32ビット整数 | ||
long | System.Int64 | 符号付き 64ビット整数 | ||
ul | ||||
実数型 | float | System.Single | 単精度浮動小数点数 | |
double | System.Double | 倍精度浮動小数点数 | ||
decimal | System.Decimal | 有効桁数 28桁以上の 10進実数 | ||
文字型 | char | System.Char | Unicode 文字 | |
文字列型 | string | System.String | Unicode 文字列 | |
論理型 | bool | System.Boolean | 真理値 | |
オブジェクト型 | object | System.Object | 任意のオブジェクトへの参照 |
データ型 | 備考 | |
リテラル型 | 整数型 | 123, 0x1A |
実数型 | 3.14, 3., .14, 1.23e-5 | |
文字型 | ‘a’, ‘\n’ | |
文字列型 | “abc\n”, “”, @”abc” | |
論理型 | true, false |
演算子では算術演算子、比較演算子、代入演算子、条件演算子、複合演算子、論理演算子、シフト演算子、等値演算子を覚えておく必要があります。
演算子の種類 | 概要 |
算術演算子 | 足し算や引き算を実行する |
比較演算子 | 大小や等しいかなどの比較を実行する |
代入演算子 | 「=」のことで左辺を右辺に代入を実行する |
条件演算子 | 条件文と同等の意味があるが、文ではなく値を持つ式 |
複合演算子 | 代入演算子「=」とバイナリ演算子、文字列演算子を組み合わせるもの |
論理演算子 | 真と偽の二値からなる真偽値に対して演算を実行する |
シフト演算子 | ビットをずらす演算子 |
等値演算子 | オペランドが等しい場合にはtrueを返し、それ以外の場合はfalseを返す。 |
制御文ではwhile文、for文、if文、break文を覚えておく必要があります。
C#の代表的なフレームワークを見ていきましょう。
.NET Framework(ドットネットフレームワーク)とはC#に活用されるマイクロソフト社によって開発されたアプリケーション開発・実行環境用フレームワークです。.NET Frameworkは業界において度々『.NET(ドットネット)』と略称して呼ばれることがあります。.NET Frameworkは『共通言語ランタイム』『基本クラスライブラリ』『フレームワーク』の3つで構成されております。
.NET Frameworkの公式サイトはこちら>>
.NET Frameworkの特徴・機能などを解説している記事はこちら>>
C#.NETとはプログラミング言語であるC#を.NET Frameworkにおいて使用する際の組合せを表現する名称を意味しております。C#は基本的に.NET Frameworkにおいて使用するプログラミング言語です。「C#」、「C#.NET」どちらでも呼ばれる機会が多いことから混乱を呼んでおりますがこれらは同義であると考えて問題ありません。
C# | プログラミング言語 |
C#.NET | プログラミング言語+フレームワーク |
C#を理解するために初心者でも分かるメリット・デメリット、基礎知識などを簡単に解説させていただきました。C#を一言で表すと『Windowsアプリケーション開発向けのプログラミング言語』です。C#を習得するとWindowsアプリケーションを開発する際、「Visual Studio」「.NET Framework」などのマイクロソフト社が開発・提供するWindows製品で全ての環境を構築することが出来ます。Windowsアプリケーション以外にも「Xamarin(ザマリン)」や「Unity(ユニティ)」を使用することで様々なものが開発できます。C#についてこの記事に記載されているメリット・デメリット、基礎知識などについては最低限理解をしておくようにしましょう。