[第1回] C#(C Sharp)言語とは?|Unityで学ぶC#入門
連載第1回の今回は、そもそも「C#とは?」という疑問にお答えすべく、プログラミング言語の解説からUnityでC#言語を習得するメリットまで詳しくご紹介いたします。
プログラミング言語とは
まずC#の解説を始める前に、「プログラミング言語とは?」と思っている方向けに簡単にプログラミング言語について解説いたします。
PCと会話するための言語
プログラミング言語とは?という質問に対して一言で答えるならば「PCと会話するための言語」であると筆者は考えます。
日本語や英語は人から人への情報伝達手段として用いられますが、プログラミング言語は人からPCへの情報伝達手段として用いられます。
PCに動いてもらいたい動作を的確に伝える(記述する)ことでゲームやシステムの開発が可能になります。
プログラミング言語は難しいと思われがちですが、日本語や英語などの言語を覚える感覚で勉強すれば簡単に習得することができます。
プログラミング言語の種類
人間が使用する言語も数多く存在するように、プログラミング言語も様々な種類があります。
プログラミング言語には「コンパイラ言語」と「スクリプト言語」の2種類存在します。
この段階で詳しく理解しておく必要はないのでざっくり説明すると、
- コンパイラ言語 =「PCが事前にコードを読んでから動きを実行する言語」
- スクリプト言語 =「PCがコードを読みながら動きを実行する言語」
以上のような違いがあります。
このコードをPCが読む作業のことを「コンパイル」と呼びます。コンパイルすることで、実際にPCが認識できる形に変換されます。
それぞれの言語の代表例は以下の通りです。
- コンパイラ言語 = Java ,C++ ,C#
- スクリプト言語 = JavaScript ,Python ,PHP
これから勉強していくC#はコンパイラ言語です。
C#とは
マイクロソフトが開発した言語
C#はマイクロソフトが10年以上前に開発したプログラミング言語です。
言語が開発されてから何度もバージョンアップされていて、C# 7.3が現時点(2018年12月)で最新となっています。
C#はオブジェクト指向型の言語と呼ばれていて、その構造はJavaと似ています。そのためJavaを習得済みの方であれば、比較的容易にC#も習得できることが多いようです。
C#の習得難易度
C#の習得難易度はスクリプト言語と呼ばれるJavaScriptやPythonなどに比べると若干高めです。
理由は先ほど述べたコンパイラ言語は先にコンパイルするために記述が複雑で、考えながら記述していく必要があります。
また、プログラミング言語を勉強している最初の頃には自分が書いていることとPCが実行していることが頭の中でリンクしないことが多々あります。
このような要因もあって、プログラミング言語の勉強をはじめてすぐに挫折してしまった方も多いのではないでしょうか。
そこで、Unityで自分の書いたコードを視覚的に実行できて、楽しく実用的なプログラミングスキルを習得することができます。
UnityでC#を学ぶメリット
ではUnityでC#を学ぶメリットはどこにあるのでしょうか。
視覚的に楽しみながら習得ができる
先ほども述べたとおり、自分が書いたコードが実行されても「これだけ?」と思ってしまうことが多々あります。
C#はUnityというゲームエンジンを通して学ぶことができる言語ですので、とても楽しくプログラミングの勉強をすることができます。
↓変数などの変化を視覚的に確認できる
Unityってなに?と疑問に感じた方は以下の記事をご参考ください。
参考記事)Unityとは?
オブジェクト指向のプログラミングを習得できる
C#を勉強することでオブジェクト指向のプログラミングを習得することができます。
オブジェクト指向を簡単に説明すると、上記の図のように設計書(クラス)を事前に準備しておいて、あとでオブジェクト(実体)を作成する(インスタンス化)ようなプログラミング方法のことを指します。
オブジェクト指向のプログラミング言語といえばJavaですが、Java習得に挫折してしまった経験をお持ちの方もいらっしゃるのではないでしょうか。
「クラスとかインスタンスとか意味わからない」とJavaを始めたばかりの人からよく聞きます。Javaでは習得の際に視覚的にイメージしづらい概念を、C#をUnityを通じて勉強することで視覚的に理解することができます。
C#を理解できればJavaの習得も容易になります。Javaの勉強を挫折してしまった方にとって、改めてオブジェクト指向プログラミングを習得するチャンスといえます。
オブジェクト指向プログラミングについては今後の連載で詳しくご紹介しますが、もっと詳しく知りたい方は以下の記事をご参考ください。
参考記事)オブジェクト指向プログラミングとは
Unityエンジニア需要の高まり
また近年ではVRやARなどのXR業界の規模が大きくなりつつあり、XRを開発できるUnityエンジニアの需要が非常に高まっています。
特にこれからプログラミングを勉強しようと考えている学生や社会人の方にとって、プログラミングも学べてゲーム開発も学ぶことができるUnityスキルは非常に便利なスキルなのではないでしょうか。
Unityエンジニア需要については以下の記事で詳しくご紹介しておりますのでぜひご参考ください。
参考記事)Unityエンジニアの需要について
まとめ
いかがでしたでしょうか。
「Unityで学ぶC#入門」連載の第1回として、プログラミング言語・C#について解説してきました。
UnityでC#を学ぶことでC#以外のプログラミング言語習得を容易にする、Unityスキルもおまけに習得できることがお分りいただけましたでしょうか。
「Unityで学ぶC#入門」を通じてプログラミングのスキル、Unityのスキルを着実に身につけていただければ幸いです。
続けて第2回の記事に読む方はこちらをクリック
他の回の記事について気になる方はこちらをクリック
この記事はいかがでしたか?
もし「参考になった」「面白かった」という場合は、応援シェアお願いします!