Unityとは、アメリカの企業「Unity Technologies(ユニティ・テクノロジーズ)」が開発・提供しているゲームエンジンです。
Unityはゲームの制作を、プログラミングなしで行うことができますが、作品のクオリティを上げるためにはプログラミングは必要になります。
そこで本記事では、Unityで使われるプログラミング言語「C#」について詳しく解説していこうと思います。
また、Unityについて詳しく知りたいという方は、弊社過去の記事をご覧ください。
目次
|Unityで使われる言語は「C#」
Unityで使用されるプログラミング言語はMicrosoft(マイクロソフト)社が開発した「C#(シーシャープ)」です。C#はC言語とC++から派生したプログラミング言語です。
以前のUnityでは、3つのプログラミング言語(C#、JavaScript、Boo)から、選んで使用することができたのですが、Unity2018.3からJavaScript、Booが廃止され、C#一択となりました。
Unityは単純なものであれば、プログラミングなしでゲームを開発することができます。
しかし、プログラミングによって作品のクオリティを上げたり、機能の幅を広げたりすることができます。
例えば、RPGゲームでのレベルアップやゲーム内のスコア計算など、より実際にゲーム内にある機能を実装できます。
ぜひプログラミング言語C#について理解を深め、学習してみて下さい。
|C#とは
C#とは、Microsoft(マイクロソフト)社によって開発されたプログラミング言語であり、PCやスマートフォンのアプリ開発、Unityでのゲーム開発など幅広く使用されています。
C#を開発した会社や歴史について紹介します。
開発したのはMicrosoft社
C#は、Microsoft社がリリースしたC系言語(C言語、C++)の一つです。
同社のシステム開発の土台として、よく利用される機能をあらかじめ用意している枠組みであるフレームワーク「.NET Framework」と共に作られました。
Microsoft社は1975年に創業されたアメリカの企業です。1985年にパソコン用のOS(オペレーティングシステム)のWindowsを開発しています。
Word(文書作成)、Excel(表計算)、PowerPoint(スライド作成・プレゼンテーション)などを含んだビジネス用アプリケーションソフト「Microsoft Office」、ブラウザソフト「Internet Explorer」も開発・提供しています。
また、PCのソフトやテレビゲーム機のXbox、持ち運びに便利なタブレットPCのSurfaceなどの製品を発売しているIT企業です。
C#誕生の歴史
C#は2002年1月にバージョン1.0がリリースされました。
それ以前は、C言語やC言語にオブジェクト指向を取り入れて拡張されたC++が中心に使用されていました。
C言語とC++どちらも強力な言語で、多くのことを実現することができますが、求められる技術レベルが高く、エンジニアの技術格差が広がっていきました。
また、特にメモリ管理の面に関しては、容易とは言えない言語でした。
C#はこうした背景のもと、さまざまなプログラミング言語のいい部分を組み込んだ言語として開発されました。
基本的な文法がC言語に近く、C++から改良、さらにJavaに組み込まれていたメモリ管理を自動的に行ってくれるガーベジコレクションという機能もC#に組み込まれました。
|C#の特徴
C#の特徴としては、
- オブジェクト指向言語
- Microsoft社製品との相性が良い
- 用途の幅が広い
などが挙げられます。
この3つの特徴について解説していきます。
オブジェクト指向言語
オブジェクト指向とは、プログラムを手順ではなく、「特定の役割を持ったモノ」ごとに分解し、モノ同士の関係性を定義していくことでシステムを作り上げていくシステム構成の考え方のことです。
例えば、自転車はサドルやハンドル、車輪、タイヤ、フレーム等で構成されています。特定の役割を持つ部品が組み合わさって自転車として使用できます。
どこかの部品が壊れた場合、その部品を交換することでそのまま自転車として使用することができます。
オブジェクト指向の開発も同様に、特定の機能のプログラムをしたオブジェクト(モノ)同士を組み合わせてシステムを作成していきます。
開発のスピード向上、情報管理やメンテナンスのしやすさ、分業化を進めやすいことがオブジェクト指向のメリットです。
Microsoft社製品との相性が良い
C#はMicrosoft社の製品であるWindowsなどと相性が良いです。
メモ帳やペイントのようなシンプルなデスクトップアプリの開発はJavaでもできますが、C#はよりPC用のアプリの開発に適したプログラミング言語として提供されています。
また、Microsoft社が開発したIDE(Integrated Development Environment:統合開発環境)である「Visual Studio」とフレームワークである「.NET Framework」を使用することで、綺麗なGUIアプリケーションの開発ができます。
ボタンやフォーム、テキストボックスをドラッグ&ドロップで配置するだけで、簡単にフォームアプリの開発ができます。
用途の幅が広い
Windows向けのアプリを中心に、WebアプリやGUIアプリの開発、ゲーム開発に幅広く利用されています。
Webアプリ
C#はWebサイト上で動作させるアプリの開発によく利用されています。
サーバー上でもスムーズに操作するプログラミング言語なので、日常的に多くの人々が利用するサービスの開発を行うことができます。
例として、Microsoft社のポータルサイトなどで使われています。
GUIアプリ
画面上のボタンやイラストなどを操作することで定義されている機能を実行できるアプリをGUIアプリといいます。
ユーザーが気軽にかつ簡単に操作できるモバイルアプリの多くが、C#で開発されています。
ゲーム
C#はUnityで利用されている言語のため、ゲーム開発分野でかなり注目されている言語です。
PC・CS・スマホゲームなど様々なゲームが開発されています。
|C#の難易度は?
C#は、ほかの言語と比べると記述量が多いため、未経験から学ぶ際には難易度はやや高めであると言えます。
例えば、C#とPythonのHello World!を表示させるコードを比較すると、
C#
using System;
namespace study
{
class Hello
{
static void Main()
{
Console.WriteLine(“Hello, World!”);
}
}
}
print(“Hello, World!”)
C#は「Hello, World!」を表示するのに11行記述したのに対して、Pythonはたった1行記述するだけで表示されます。
上のコードのようにC#はコード量が多くなりがちなので、最初に学ぶプログラミング言語にすると難易度が高いかもしれません。
しかし、Javaの経験がある人であれば、C#とJavaは文法が似ているため、スムーズに理解し、習得できる可能性が高いです。
C#の学習はやや高い難易度ではありますが、ソフトウェア開発をサポートするプラットフォームが充実しているので未経験からでも比較的学習を進めやすいといった点もあります。
|今後のC#需要は?
C#は2000年にリリースされてから多くの様々なシステム開発に使用されてきました。
現在でも多くの業務用システム開発で使用されています。
また、今後の伸びが期待されるゲーム分野、AR、VRでも多く使用されているため、プログラミング言語としての需要がかなり高いです。
新規の案件や今現在稼働しているC#で開発されたシステムのメンテナンスを含めると、C#は今後もまだまだ需要が高まっていくと予想できます。
とても将来性の明るいプログラミング言語だと言えます。
2022時点での世界のプログラミング言語人気ランキングでも4位にランクインしており、国内でも世界的にみても安定して上位をキープしています。
|まとめ
今回はC#の特徴、難易度、今後の需要などについて解説しました。
C#は幅広い分野で使用できるプログラミング言語です。
システム開発やゲーム開発、VRなどに使用され、今後も需要が高くなっていくと予想されます。
記述するコード量がほかのプログラミング言語より多いため、未経験が最初に学ぶ言語としてはやや高い難易度ですが、開発をサポートするプラットフォームが充実しているので比較的学習を進めやすい言語です。
興味があれば、C#を学習してみてはいかがでしょうか!