『C#でできること』と聞かれると結構回答に困る。
だって得意不得意はあるとはいえ、プログラミング言語によってできることできないことってそんなに変わらないし。
あなたの使っているそのツールだったりアプリだったりゲームだったりも実はC#で動いているかもしれない。
意外とC#と関連するもの
VBA・PowerShell
VBAもPowerShellもC#と同じようにMicrosoftによって開発されているだけあってお互いに互換性が高い。
特にPowerShellは難しい処理をしたいときにC#(正確には.Net)のメソッド呼び出すことが多い。VBAもPowerShellも最初から使えることが多いのでスキルはあって損はない。
Unity
ゲーマーなら1回は聞いたことがあるであろう単語。Unityで作成されているもので有名な作品はポケモンGOとか。
『Unityで作られているゲーム=C#で作られているゲーム』である。
他のプログラミングと比べると……。
Cと比べてみる
Cと比べると遅い。けどメモリとかの云々を理解しなくても最低限プログラミングは可能なので、プログラミング初級者にはとっつきやすい。もちろんメモリとかについては理解しているに越したことはないが。
Javaと比べてみる
Javaと比べると環境設定が本当に楽。Eclipse(Java開発のための環境)の設定に苦労しまくったあの時間は一体何だったのだろうか。
Pythonと比べてみる
Pythonと比べると、AIを作らせたらやっぱりPythonの方に軍配が上がる。行列計算とか簡単にできるし。ただ、C#のほうが広くなんでもできるイメージ。Microsoft系の制御であればC#の方が強いかな。
C#ってどうやって勉強すればいい?
個人的にプログラミング初心者に一番オススメなのが『競技プログラミング』をやってみること!
自分でコードを書いてみて、他の人と自分のコードを見比べて……ってできるのがものすごく勉強になる。
何よりも無料なので気軽に始められるのもメリットです。
競技プログラミングのサイト
yukicoder
のんびり自分のペースで競技プログラミングに挑戦してみたい方はこちらがオススメ。
初心者でも解ける問題がたくさんあります。
AtCoder
ちょっと慣れてきたなーっていう方はこちらのサイトを。
毎週土曜日夜9時からコンテストが行われます。
こちらのコンテストの正答数でサイト内のランクが上げ下げします。
このレーティングシステムででなんと求人にも応募できるので、転職などを考えている人にもオススメです。