【初心者必見】C#のできることは?メリットデメリットも解説!

C#でできることってなんだろう?
C#ってどんな言語なんだろう?

この記事を読んでいるあなたはこのような悩みを持っているのではないでしょうか?実際、C#はできることが多くて何が得意なのかよくわからないかと思います。

そこでこの記事では、C#でできることを専門用語をなるべく使わずにご紹介します。合わせて、C#のメリットとデメリットや学習する上でおすすめの書籍も解説するのでぜひ最後まで読んでみてください。

C#とは?

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#はどんなメリットがあるのかを箇条書きで示していきます。

メリット

様々なプラットフォームのアプリ開発を行うことができる

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の開発に適したプログラミング言語を表した記事があるので、是非参考にしてください。

AI(人工知能)の開発に適したプログラミング言語ランキング8選
更新日 : 2019年12月17日

構文が長くなってしまう

最後のデメリットは、プログラムの構文が長くなってしまうことです。
構文が長くなることで、プログラムを書く量が多くなってしまったり、見にくい構文になってしまいます。

ですが、これはやっていくうちに慣れているしかないでしょう。

C#を学ぶ上でお勧めの書籍

それではここからは実際にC#を学ぶ上で、オススメしたい書籍を3冊紹介させていただきます。

初心者の方向けの本なので是非参考にしてみてください

優しいC# 第3版

プログラミング教科書のベストセラー、高橋麻奈の「やさしい」シリーズ。シリーズの『やさしいC#』を、新装丁+スッキリとした本文デザインで、より親しみやすく、より読みやすく改訂しました。

これからプログラミングをはじめたい人でも、無理なく基本からしっかり身に付けてもらえるように、次の点を心がけています。

  • 読みやすく、丁寧な解説で、無理なくスラスラ読み進められます。
  • 豊富なイラスト図解で、概念をイメージでわかるようにしています。
  • たくさんのサンプルプログラムで、一つひとつ試して理解できます。

C#はシステムの開発からゲームプログラミングまで、さまざまに利用されているプログラミング言語ですので、この本を最初に学習するとしっかりとした基礎が身につくでしょう。

確かな力が身につくC#「超」入門 第2版

初めてプログラミングに挑戦する初心者を対象に、C#言語の基礎から本格的なアプリケーションの作り方を優しく解説します。開発環境のインストールからしっかりと解説していきますので、初心者でも安心して学習を開始することができます。

プログラミングの教科書として、最初に読む一冊としておすすめです。

UnityではじめるC#

C#で有名である、Unityを学べる1冊です。スマホあぷりを作りながらC#の基本をマスターできるので、これから楽しくC#を学んでみたいという方にはもってこいの1冊なのではないでしょうか。

まとめ

いかがだったでしょうか。今回は、C#という言語について、何ができるのか、どんな書籍がおすすめなのかをお話ししていきました。

上でもたくさん示した通り、C#はとても優秀でいろいろなことができる言語です。これを機に、そんなC#を学んで見てはいかがでしょうか。

「プログラミング、右も左もわからない…」という方にオススメ

cta_under_bnr

当プログラミングスクール「侍エンジニア」では、これまで6000人以上のエンジニアを輩出してきました。

その経験を通してプログラミング学習に成功する人は、「目的目標が明確でそれに合わせた学習プランがあること」「常に相談できる人がそばにいること」「自己解決能力が身につくこと」この3つが根付いている傾向を発見しました。

侍エンジニアは上記3つの成功ポイントを満たすようなサービス設計に磨きをかけております。

cta_under_bnr

「自分のスタイルや目的に合わせて学習を進めたいな」とお考えの方は、ぜひチェックしてみてください。

詳細はこちら

書いた人

城戸健太

兵庫県西宮市出身。現在大学4年生。プログラミングスクールを卒業したのち侍エンジニア塾でインターン生として活動中。
記事の執筆や編集、業務改善システムの改善を担当中。

おすすめコンテンツ

まずはここから!初心者でも1から学べるプログラミング入門カリキュラム

転職成功で受講料0円!あなたもプログラミングを学んでエンジニアデビュー