[第1回] C#(C Sharp)言語とは?|Unityで学ぶC#入門


プログラミングを勉強したいけど、「何から始めれば良いかわからない」「始めたものの全然理解できない」という方も多いのではないでしょうか。

そのような方にUnityというゲームエンジンを通した「C#(シーシャープ)」言語の習得をおすすめします。

XR-Hubでは「Unityで学ぶC#入門」という連載を通じてC#を基礎中の基礎から解説していきます。

連載第1回の今回は、そもそも「C#とは?」という疑問にお答えすべく、プログラミング言語の解説からUnityでC#言語を習得するメリットまで詳しくご紹介いたします。

C#イメージ

プログラミング言語とは

まずC#の解説を始める前に、「プログラミング言語とは?」と思っている方向けに簡単にプログラミング言語について解説いたします。

PCと会話するための言語

プログラミング言語とは?という質問に対して一言で答えるならば「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#の習得難易度

C#の習得難易度はスクリプト言語と呼ばれるJavaScriptやPythonなどに比べると若干高めです。

理由は先ほど述べたコンパイラ言語は先にコンパイルするために記述が複雑で、考えながら記述していく必要があります。

また、プログラミング言語を勉強している最初の頃には自分が書いていることとPCが実行していることが頭の中でリンクしないことが多々あります。

このような要因もあって、プログラミング言語の勉強をはじめてすぐに挫折してしまった方も多いのではないでしょうか。

そこで、Unityで自分の書いたコードを視覚的に実行できて、楽しく実用的なプログラミングスキルを習得することができます。

PCを楽しむ女性

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のスキルを着実に身につけていただければ幸いです。

 

「Unityで学ぶC#入門」連載記事は以下をご参考ください

第1回)C#言語とは?

第2回)Unityのセットアップ・使い方を学ぶ

第3回)C#スクリプトの作成・実行方法を学ぶ

第4回)変数の使い方を学ぶ

第5回)演算子の使い方を学ぶ

第6回)if文を使用した条件分岐を学ぶ

第7回)メソッドの使い方を学ぶ

第8回)for文を利用したループを学ぶ

第9回)switch文を利用した条件分岐を学ぶ

第10回)配列の使い方を学ぶ


Furui