この記事では、メリット・デメリットも交え、C#でできることを解説します。
C#ってどんな言語なんだろう?
この記事を読んでいるあなたはこのような悩みを持っているのではないでしょうか?実際、C#はできることが多くて何が得意なのかよくわからないかと思います。
そこでこの記事では、C#でできることを専門用語をなるべく使わずにご紹介します。合わせて、C#のメリットとデメリットや学習する上でおすすめの書籍も解説するのでぜひ最後まで読んでみてください。
本記事を読む前に、C#言語とはどんなプログラミング言語なのかをおさらいしておきたい人は次の記事を参考にしてください。
- C#を使えばWebアプリやAndroidアプリ・VRゲームなどが開発できる
- C#は処理速度の早さや汎用性の高さが魅力のプログラミング言語
- 低スペックのPCでは扱いづらい側面もある
C#とは?
まず最初にC#とはなんなのでしょうか?
C#は、2010年にMicrosoftが開発した「.NET」というフレームワークを扱うためのプログラミング言語です。C#の大きな特徴は「できることが多い」ということです。
例えば、Rubyという言語は、Ruby on Railsというフレームワークと共にwebアプリケーション開発に特化しています。Swiftという言語も、Xcodeというフレームワークを使用したiPhoneアプリ開発に特化しています。
このように1つの言語につき、できることは多くても2つ、3つくらいだと言われています。
しかしC#は、
- アプリケーション開発
- ゲーム開発
- VR/AR
- システム開発
など、たくさんの開発に活用されています。
C# でできること
それではここからは実際に、C#という言語は何ができるのかということを説明していきます。
C#という言語 + なんらかのフレームワーク = 〇〇ができるというイメージなので
そのフレームワークの紹介もしながら1つ1つ解説していきます。
windowsアプリ開発
C#は、Microsoftが作った言語のため、windowsアプリケーションの開発を得意としています。
例えば、マイクロソフトオフィスのエクセルやパワーポイントなど、普段の生活で使用するようなアプリもC#を元に作られています。
このようにWindowsストアにあるほとんどのアプリがC#で作られています。Windowsアプリを開発したい場合は、「Visual studio」という開発環境が必要となるので、あわせて勉強してみましょう。
Androidアプリケーション
C#を使って、Androidのアプリケーションも開発することができます。
そのために必要な開発環境は、「Xamarin」という環境を使います。
Android用には、「Xamarin.Android」という開発環境を使い、iOSアプリケーション開発には「Xamarin.iOS」を使います。
こちらの挙げられているgoogle playでダウンロードできるアプリケーション達が例です。
Webアプリケーションの開発
最後に、TwitterやFacebookのようなweb上で動かすことができるアプリケーションの開発をすることができます。
先ほどもご紹介した、Visual Studioという開発環境を使って開発が可能です。Visual Studioの中にもたくさんのフレームワークがあるのですが、WebアプリケーションにはASP.NETというフレームワークが主流です。
ゲーム開発
C#は多くのゲーム開発に使われる「Unity」と呼ばれる開発環境を扱うことができる唯一の言語です。
Unityはゲーム専門の開発環境で、
- PCゲーム
- PS4
- NintendoSwitch
など普段あなたが目にしているようなゲームを開発することができます。Unityで作られたゲームの例を挙げると、ドラゴンクエストやスーパーマリオ、pokemonGOなどもそうですね。
こちらにUnityで作られたゲーム一覧を貼っておくので参考にしてみてください!
Unityで作られたゲーム一覧:gamebox参照
また、Unityについてもっと詳しく知りたい方は、是非こちらの記事を参考にしてみてください。
VR/AR開発
VR/ARという言葉を最近よく聞く人も多いでしょう。C#を使ってVR/ARの開発も可能です。
もう少し詳しく話すと、VR/ARを開発する際にUnityと、Unreal engineという2つの開発環境を使います。UnityにはC#を使い、Unreal engineにはC++などの言語を使います。
これらを使い作られたVR/AR機能があるゲームなどを挙げると、
- Pokemon Go
- ドラゴンクエストウォーク
などが代表的に挙げられるでしょう。このような最先端技術にも使われるC#を学習してみるのも楽しいかもしれないですね。
シムテム開発
続いてC#ではCUIアプリケーションというシステムの開発を行うことができます。CUIとは、CUIとは、キーボードに入力されるコマンドによって、オペレーティング・システム上の操作を行う、ユーザーインターフェースの事を言います。
簡単に表すと、ターミナルなどを使って動くアプリケーションのことであり、主に開発者用に作られているものがほとんどです。また、CUIはターミナルが搭載されているOS自体でしか使うことができないので、Windows,Mac,LinuxのOSで使うことができます。
ここからは上級者向けの話になるので今回は、これらの開発者用のアプリケーションが作れることだけをご紹介させていただきます。
C#を使うメリット・デメリットは?
それでは次に、このようないろいろなことができるC#はどんなメリットがあるのかを箇条書きで示していきます。
メリット
様々なプラットフォームのアプリ開発を行うことができる
C#では先述の通りWindow、Mac、Android、iOSなど数多くのプラットフォームでの開発ができる非常に便利なプログラミング言語です。また、先ほど書いた通りGUIアプリケーションだけでなく、CUIアプリケーションの開発も可能です.
人気が高いため情報が多い
C#はそのできることの多さや始めやすさ、学習しやすさから、とても人気な言語です。
ですので、Qiitaやterarailなどのプログラミングの技術的なことが書いてあるWebページにはたくさんのC#の情報が載ってあり、学習する際や、何かを実装する際にとても役立つ情報が多いと言えます。
実行速度が早い
C#はVisual Studioという統合開発環境があるので、実行速度が早く、ストレスがなく開発を進めることができます。
実行速度が速いと、開発スピードが上がるだけでなく、そのシステムを使うユーザーもストレスなく使えることができるので素晴らしいメリットです。
環境構築が簡単にできる
2つ目のメリットは、環境構築が簡単にできることです。環境構築とは、多くの人がつまづき、挫折してしまいがちな最初の準備のようなものです。
これはPCやOSによってやり方が違ってくるのですが、C#の場合はVisual Studioという開発環境をダウンロードするだけで始めることができるのでとても簡単です。
本格的なゲーム開発ができる。
また、C#は世界最大のゲーム開発エンジンUnityにて採用されており、C#でソーシャルゲームからアクションゲーム、RPGまであらゆるゲームの開発ができます。
Unityは特にスマートフォンアプリでの需要が高く『ポケモンGO』や『白猫プロジェクト』、『fate/grand order』など大規模かつ大ヒットしたアプリケーションもUnityを用いて開発されています。
デメリット
開発環境の容量が多く低スペックPCにはきつい
C#の開発環境は先ほどから上げている、Visual Studioというものです。
Visual Studio は統合開発環境といい、そのソフトさえあれば全ての開発ができるものです。
ですので、その分Visual Studioの開発環境を整えるために膨大の容量を使います。ですので低スペックのPCにはC#の学習は向いていないと言えます。
AIには弱い
C#はたくさんのことができることがメリットですが、AI関連のプログラミングには向いていません。ですのでAI関連のことを学びたい、やってみたいという方はPythonなどの言語を選ぶと良いでしょう。
こちらにAIの開発に適したプログラミング言語を表した記事があるので、是非参考にしてください。
構文が長くなってしまう
最後のデメリットは、プログラムの構文が長くなってしまうことです。
構文が長くなることで、プログラムを書く量が多くなってしまったり、見にくい構文になってしまいます。
ですが、これはやっていくうちに慣れているしかないでしょう。
C#を学ぶ上でお勧めの書籍
それではここからは実際にC#を学ぶ上で、オススメしたい書籍を3冊紹介させていただきます。
初心者の方向けの本なので是非参考にしてみてください
優しいC# 第3版
プログラミング教科書のベストセラー、高橋麻奈の「やさしい」シリーズ。シリーズの『やさしいC#』を、新装丁+スッキリとした本文デザインで、より親しみやすく、より読みやすく改訂しました。
これからプログラミングをはじめたい人でも、無理なく基本からしっかり身に付けてもらえるように、次の点を心がけています。
- 読みやすく、丁寧な解説で、無理なくスラスラ読み進められます。
- 豊富なイラスト図解で、概念をイメージでわかるようにしています。
- たくさんのサンプルプログラムで、一つひとつ試して理解できます。
C#はシステムの開発からゲームプログラミングまで、さまざまに利用されているプログラミング言語ですので、この本を最初に学習するとしっかりとした基礎が身につくでしょう。
なお、IT企業への転職や副業での収入獲得を見据え、独学でC#を習得できるか不安な人は「侍エンジニア」をお試しください。
侍エンジニアでは、現役エンジニアと学習コーチの2名体制で学習をサポートしてもらえます。
「受講生の学習完了率98%」「累計受講者数4万5,000名以上」という実績からも、侍エンジニアなら未経験からでも挫折なく転職や副業収入の獲得が実現できますよ。
\ 給付金で受講料が最大80%OFF /
確かな力が身につくC#「超」入門 第2版
初めてプログラミングに挑戦する初心者を対象に、C#言語の基礎から本格的なアプリケーションの作り方を優しく解説します。開発環境のインストールからしっかりと解説していきますので、初心者でも安心して学習を開始することができます。
プログラミングの教科書として、最初に読む一冊としておすすめです。
UnityではじめるC#
C#で有名である、Unityを学べる1冊です。スマホあぷりを作りながらC#の基本をマスターできるので、これから楽しくC#を学んでみたいという方にはもってこいの1冊なのではないでしょうか。
まとめ
いかがだったでしょうか。今回は、C#という言語について、何ができるのか、どんな書籍がおすすめなのかをお話ししていきました。
上でもたくさん示した通り、C#はとても優秀でいろいろなことができる言語です。これを機に、そんなC#を学んで見てはいかがでしょうか。
この記事の監修者
株式会社SAMURAI
独学でプログラミング学習を始めるも挫折。プログラミングスクール「SAMURAI ENGINEER」を受講し、Web制作を学ぶ。副業でWeb制作を行いつつ、「初心者がプログラミングで挫折しないためのコンテンツ制作」をモットーにWebライターとして侍エンジニアブログ編集部に従事。