プログラミング言語 C# について調べてみました。
C#(シーシャープ)とは
C#はJavaと並んで現在、最も使われている言語の一つです。
C#(シーシャープ)は、アンダース・ヘルスバーグが設計(デザイン)したプログラミング言語であり、構文(syntax)は(名前にもある通り)C言語や、C言語風に構文が設計されたC++やJavaなどの影響があるが、構文以外についてはヘルスバーグが以前の所属であるBorlandで設計したDelphiからの影響がある。
Microsoftによる謳い文句としては、マルチパラダイムプログラミング言語、強い型付け、命令型、宣言型、手続き型、関数型、ジェネリック、オブジェクト指向の要素を持つ、などといった点が強調されている。
CLIといった周辺も含め、Microsoftのフレームワーク「.NET Framework」の一部である他、VJ++で「非互換なJava」をJavaに持ち込もうとしたような以前のMicrosoftとは異なり、その多くの[2]仕様を積極的に公開し標準化機構に託して自由な利用を許す(ECMA-334、ISO/IEC 23270:2003、JIS X 3015)など、同社の姿勢の変化があらわれている一面でもある(実際に「Mono」という、フリーソフトウェアの定義に合致したライセンスの、コミュニティによる実装がある)。
C#の特徴、できること
C#の最大の特徴は、マイクロソフトの.NET Frameworkで動作するバイトコードである点です。
.NET Framework とはアプリケーションの基盤となるテクノロジーであり、CLR (Common Language Runtime) とよばれる実行環境(ランタイム環境)のほか、アプリケーションにとって有益であるさまざまな機能が提供されています。
この点は、JavaがJava Runtime Environmentで動作するのと同じことです。
C#の言語仕様はJavaと文法が似ているため、Javaエンジニアが習得しやすい言語です。
C++で問題となったメモリ管理の問題が解決されている点が魅力ですが、Windows環境でのみの利用が可能という制限があります。
次に、C#でできることですが、パソコン、サーバー用のプログラムによく利用されているうえ、ゲーム、アプリ開発などにも幅広く使用されています。
また、企業向けの業務システムで利用されることも多いです。
そして、UnityというゲームエンジンではC#で記述することもできるので、簡単にゲームを作ってしまうことも可能です。
C# 初心者のための入門サイト
C#を初心者が学ぶための入門サイトはいくつかあります。
以下にまとめました。
Microsoft Visual Academy
こちらはマイクロソフト本家のサイトです。
C#によるプログラミング入門
一週間で身につくC#言語の基本
C#を学習する本
C#を学習するのにおすすめの本は以下の通りです。
基礎からしっかり学ぶC#の教科書
新品価格 |
独習C#新版
C#の構文、文法、使い方
C#の基本構文、文法や使い方としては以下をリファレンスにするとよいでしょう。
初心者に分かりやすくまとまっています。
C#の配列の初期化
次の例のようにすると、5つの整数の1次元配列を宣言することができます。
int[] array = new int[5];
この配列は、array[0] から array[4] の要素を含んでいます。 new 演算子を使用して、配列を作成し、配列要素を既定値に初期化します。
この例では、すべての配列要素はゼロに初期化されます。
C#でUnityを使ってゲーム作る本
C#を使うとUnityを使って簡単にゲームを作ることが可能です。
詳細は以下の本に詳しく書かれています。
新品価格 |
本の内容は次の通りです。
~スマホアプリをつくりながらC#のキホンをしっかりマスター!!~
ゲームエンジン「Unity」でゲームをつくりながら、定番プログラミング言語「C#」の基礎をしっかり習得できます。
教材は、アプリ界の“和尚”いたのくまんぼう氏による、スマホゲームの人気ジャンル「脱出ゲーム」「物理ゲーム」のひな形2本!
学習者向けに、C#の難しい文法や概念は使わないシンプルなプログラムにするべく腐心し、カスタマイズやステージ追加を行いやすいように設計した力作!!C#未経験者、Unity未経験者にはもちろん、過去にC#習得に挫折した経験者にも読んでほしい一冊です。
なお、本書ではUnity 5.4.0f3で動作検証を行っています。
【本書の構成】
Chapter 1 Unityで開発する準備をしよう
Chapter 2 C#の基本
Chapter 3 分岐とループ
Chapter 4 Unityを使ったプログラミング
Chapter 5 脱出ゲームを作ろう
Chapter 6 物理パズルを作ろう
Chapter 7 スマートフォンアプリの公開
C#とC++の比較
C++については以下にまとめました。
C++に比べるとC#は分かりやすく、習得が容易な言語と言えるでしょう。
一方で、C#は.NET Frameworkで動くバイトコードであるために、コンパイラであるC++よりも、一般的に遅いようです。
C#とC++の速度比較を行っているサイトが以下の通りです。
C言語、Javaについては以下にまとめました。
コメント