テックリーダーズの小松です。
今回は、「C#」ってぶっちゃけどうなの?っていう話をしていきたいと思います。
「C#」はゲームエンジニア向き

「C#」は「Unity」ってゲーム開発のツール、総合開発環境といったらいいのかな、そこでよく使われるのが「C#」なんですね。
「C#」っていうのは実際のところ「C++」っていう言語と「Java」のいいとこ取りをしたのが「C#」と言われています。
僕も「C#」の実装はできますけども、やってみた感想を言わせてもらうと、書きやすいといえば書きやすいです。
僕はもともと「C言語」とか「C++」出身なので、それから比べるとすごく書きやすいし、お作法も見慣れたものがあるので、書きやすいんですけども、初心者からしてみたら結構難しいんじゃないかなという印象を受けました。
あとは、ゲームエンジニアになっていきたい、絶対にゲームの仕事に就きたいという人は「C#」はありといえばアリだと思います。
「C#」というよりは「Unity」を使いこなしてゲームを作っていくってことに慣れていくという部分がオススメかな。
「Unity」で使われるのが「C#」なので、「C#」=「ユニティー」と考えてもいいくらい。
市場で言われているほど、「Unity」は難しくなく、むしろ簡単にゲームを作っていくことができますよ。
「Unity」のメリットとデメリット

「Unity」のメリットは何かというと、iPhoneアプリやAndroidアプリってあるじゃないですか。
「パズドラ」でもおなじみになりましたが、有名なゲームはiPhoneアプリでもAndroidアプリでもありますよね。
でも、Androidアプリでゲームを作るにはAndroid Studioと呼ばれる環境で開発する必要があります。
詰まるところ、言語が「Java」なんですよね。別名「Android Java」とも言われています。
じゃあ、「iPhoneアプリは?」って言われると「Swift」ですね。
iPhoneアプリは、「Swift」を使って開発をしていかないといけない。
だから、全く違う言語を扱う必要があるのに加えて、動きは全く同じにしないといけないというのがアプリ開発で面倒くさいところなんですね。
結構開発費もかかるし、手間もかかる。
「Unity」はどうかというと、
「Unity」で作る => 「ビルド」実行 => アプリに吐き出しボタンを押す
こうするだけで、「C#」で作ったプログラムが「Unity」で吐き出された時にAndroid用とiPhone用2つ同時に実行用コードを生成させることができるんです。
それだけでなくPlaystation4のようなコンシューマーゲームにも対応しているし、色々便利なんですね。
ただ、デメリットを言えばちょっと重いということが問題ですね。
例えば、「Uber」とか「ポケモンGo」とかその辺は「Unity」で作られていますけども、ちょっともっさり感があるのが玉に瑕ですね。
ただ、どうしてもゲームをやっていきたいんだというようであれば、「Unity」「C#」とセットで学習していくのがオススメです。
最後に

最後までお読みくださり、ありがとうございました。
ここまでのお話を聞いて、
「自分もフリーエンジニアを目指したくなった!だけど、その前に色々と相談したいな。。」
「プログラミングをどのように学習すれば、最短でスキルが身に付けられるのか、その方法を教えて欲しい」
そんなあなたは、下記のボタンから私のLINE@に登録してみてください。一人一人の状況にあったアドバイスをしています。
それでは今回はこのへんで。ありがとうございました。