C#はwebサイトや各種アプリケーション、VRの設計にも使われている非常に汎用性の高い言語です。windows環境で開発するのに向いているため常に一定の需要があります。そんなC#を詳しく解説していきます!
C#でできることの前にC#とは何かを知ろう!
![](https://writers-way.com/wp-content/uploads/2020/02/csharplang02.jpg)
C#は開発したのがMicrosoftということもあり今後も需要が続くことが予想されます。C#はMicrosoftが開発する他のプロダクトとの互換性も強く、現在でも積極的に新バージョンのリリースが行われています。
そもそもC#とは?
C#は2000年に初めて公開されました。C#という名前からC言語やC++を連想する方が多いですが、実はそれほど深いかかわりはありません。
もっとも構文の様式に関してはC言語の影響を受けています。作動環境としてはJavaに近く、.NET FRAMEWORKで動作しVisual Studio 2015上で書くことができます。
.NET FRAMEWORKはwindows対応のソフトウェアですがMonoという互換環境を無料でダウンロードすることができます。ですので動作環境も作業環境も選ばないプログラミング言語ということになります。
やはりJavaに近いです。C#はゲーム、デスクトップアプリ、VRの分野で最も活躍しているプログラミング言語ですが、webサイトの制作にも比較的使われやすい言語です。
C#で作られた有名なwebサイトにMicrosoftの公式サイトとSkypeの公式サイト、MSNのポータルサイト、検索エンジンのBingなどがあります。C#はMicrosoftによって開発されているので、MicrosoftとSkypeがC#で作られていることは当然とも言えます。
C#のメリットとデメリットは?
![](https://writers-way.com/wp-content/uploads/2020/02/csharplang03.jpg)
C#は比較的弱点が少ないプログラミング言語です。誕生から18年たちますが、現在でも頻繁にアップデートが行われておりC#運用のためのツールも生み出され続けています。
メリット1. 最新テクノロジーの開発が可能
C#のメリットとしては.NET FRAMEWORKとMonoによって環境問わず動作ができることに加えて、VisualStudio 2015を使用して最新モバイルデバイスのプロダクト開発ができることです。iPhone、Android開発ができるということは、PythonやRubyとも正面から戦える言語ということになります。
メリット2. 機能が豊富
また、最新の技術に対応できるだけあって機能が多い点もメリットです。グラフィックやサウンドなどの構築にも対応しているため、後ほど述べるVRへの相性も抜群です。
デメリット1. OSは作れない
C#を使うことでのデメリットというのは実はあまり思い当たりません。ただ、C#にできないこととしてOS開発が挙げられます。あくまでC#は、OSの中で動くソフトウェアを開発するプログラミング言語です。またLinuxとの相性はあまりよくありません。
デメリット2. 習得難易度が高い言語
C#は数あるプログラミング言語の中では比較的習得難易度は高いです。90年代、00年代にC言語からプログラミング学習をスタートした方は同系統の言語であるC#を容易に習得することはできるでしょう。
しかし、PythonやRubyから入った最近の若手エンジニアからするとハードルが高いといえます。
C#でできる3つのこと
![](https://writers-way.com/wp-content/uploads/2020/02/csharplang04.jpg)
C#は現在3つのジャンルで注目度が高いプログラミング言語です。グラフィックや音響が必要不可欠なゲームやVRの分野では開発環境自体がC#に合わせられていると言ってもいいでしょう。
できること1. ゲーム開発
C#はゲーム開発の現場でよく使われる開発ツールUnityに対応しているプログラミング言語です。
つまりスマホゲームアプリでもC#を使って制作されてゲームが多数あるということです。また白猫プロジェクト、ポケモンGO、スマホ版ドラクエⅧ、神獄のヴァルハラゲートなどはC#を使用して制作されています。
できること2. デスクトップアプリ開発
C#を使って様々な企業の実務に必要なデスクトップアプリを開発する案件も増えています。また、プログラマーのスキルを高める目的で練習の一環としてデスクトップアプリを開発させることは有効です。
例として様々なwebサイトをPCのデスクトップでアプリとして作動させるというものがあります。
できること3. VR開発
VRはやはりゲーム開発での需要が今の所非常に大きく、前述のUnityでVRのプロダクトを製作することができます。
また、2017年にXENKOという、オープンソースなVRゲーム開発エンジンがリリースされました。
このXENKOはC#で開発することを前提にしており、動作するプラットフォームに制限はありません。C#のVR開発に特化したXENKOを使うことで、個人のエンジニアでもVRゲームを気軽に作れる時代になったのです。
C#を使用したアプリケーションを開発するには?
さて注目度が高いC#ですが、開発するにあたって人材の確保や外注はどうしたら良いのでしょうか。需要が多いため油臭な人材に関しては競争もそれなりに激しいです。
求人広告でC#エンジニアを募集する
求人広告を使ってC#エンジニアを採用する場合、どのレベルのエンジニアが欲しいのかによって条件も変わってきます。
C#エンジニア自体は需要があるためそれなりに多いのですが、若年層だと難易度が低いPythonやRubyに流れがちなので、C#の実務経験は浅い可能性もあります。状況によっては育成前提で採用しなければならないでしょう。
人材紹介会社でC#エンジニアを紹介してもらう
経験豊富なC#エンジニアを人材紹介会社経由で採用した場合、年収でいうと500万程度は見ておいたほうがいいでしょう。
つまり人材紹介会社にはおそらく100〜200万円程度払うことになります。確実に勤務を継続してもらえるのなら、安い買い物かもしれませんが、もし早期退職してしまった場合はコスト的には痛手です。
受託企業にC#開発を外注する
C#開発を外注してしまうという方法もあります。外部の受託会社にプロジェクトごと丸投げすれば、エンジニアを雇用をする必要がありません。
しかしその分プロジェクトあたりの費用が大きくなるのと、案件によっては成果物が上がるまでにかなり時間がかかる可能性もあります。
進行状況をコントロールすることは難しいでしょう。
クラウドソーシングでC#エンジニアとマッチングする
クラウドソーシングでフリーランスのC#エンジニアと直接コンタクトを取るという選択肢があります。
C#エンジニア自体は非常に多く需要があるため、能力があるエンジニアの場合は独立して一人で仕事をして稼ぎたいという人材が多いです。
エンジニアと直接案件についてコアなやり取りをできるため、実際に開発が始まってからのミスマッチの可能性も下がります。