C#とは?特徴や将来性から開発環境の構築まで解説

公開日:2020.06.24 最終更新日:2020.12.18

スキルアップ
 

C#はマイクロソフトが提供しているプログラミング言語で、同社のフレームワーク「.NET Framework」の一部でもあります。その汎用性の高さから、Windowsアプリはもとより、MacやLinux、さらにはスマートフォン向けのアプリ開発にも活用されています。

また、Unityなどのフレームワークの登場で、ゲームやAR/VRといったジャンルも開発できるようになってきており、将来性も高いと言われています。汎用性も高いため、プログラミング言語の選択に悩んでいる入門者にもおすすめの言語です。

ここでは、入門者に向けてC#の特徴や、言語に対する需要と将来性、開発環境の構築までを細かく解説していきます。

C#とは

C#(シーシャープ)は、2002年1月にVer1.0がマイクロソフトからリリースされたC系言語(C言語、C++)の一つです。C系言語をベースとしていますが、開発にはボーランド社のDelphi開発陣が参加しているため、構文構造はDelphiの影響を受けています。

マイクロソフトが無償で提供している高機能のIDE(統合開発環境)「Visual Studio」を導入することで、簡単に最適な開発環境を構築できるため、C#は初めて環境構築から行うプログラミング初心者にもおすすめの言語です。

C#が登場した背景

C#以前は、C言語そしてC言語を強化したC++が中心でした。しかしどちらも強力な言語であるものの求められる技術レベルが高く、特にメモリ管理などの面で敷居が低い言語とはいえないものでした。

C#はこうした背景のもと、マイクロソフトが開発しました。C++にさらに++をつけて#にしたとも言われており、C++をさらに進化させた言語となっています。なお++はプログラムの構文で、+1するインクリメント処理を指します。C言語に+1するのでC++、さらに+1するのでC#(++++)といった意味があると言われています。

C#はコンパイル言語?インタプリタ言語?

マイクロソフト製品ですが、多くの仕様を積極的に公開して標準化団体Ecma Internationalに供託し、自由な利用を許諾しているため、コンパイラや実行環境を第三者が実装できます。こうした背景もあり、C#はコンパイラ言語としても、インタプリタ言語としても動作ができます。事前コンパイルをおこなう方式、中間言語であるMSIL(エムエスアイエル)(Microsoft Intermediate Language)に変換し、実行時にJIT(ジット)(Just In Time)コンパイルする方式以外に、インタプリタを内蔵させて、スクリプト言語のように動作させることも可能です。

なお、コンパイラ言語およびJITコンパイルについては、こちらの記事も併せてご確認ください。

C#で何ができる?どのような場面で使われているのか

C#は、C系言語特有の汎用性の高さを持ち、同時に高機能な開発環境が無償で提供されています。更に、仕様の多くが標準化されて自由に利用できるため、幅広い分野での利用が広まっています。

Windowsサーバ上で動作する業務用アプリ開発はもちろん、スマートフォン向けのアプリ開発やAR、VRの開発にも活用されています。

代表的な利用例は以下のとおりです。

業務用アプリ

C系言語の堅牢さと高い汎用性に加えて、フレームワークの利用による開発コストの軽減が可能な点が評価され、業務用の大規模アプリ開発に使用されています。

AndroidやiOSなどのスマートフォンアプリ

C#で開発が可能なUnity別ウィンドウで開くというゲーム用エンジンを利用することで、アプリ開発の経験が浅い個人でも画面構築や処理の設定、複雑な3Dの処理などが簡単に行えるため、多くのアプリ開発の現場で使用されています。

またUnity以外に、マイクロソフト社が提供するXamarin別ウィンドウで開くでもAndroidおよびiOSのアプリ開発が可能ですが、こちらもC#での開発が可能です。

WEBアプリ

C#は、WEBサイト、WEBアプリの開発にも使用されており、主にアクセスの多い大手のWEBサイトやWEBアプリで使用されています。どのサイトもアクセス量が多いため、WEB開発の主流であるスクリプト言語ではなく、安定して処理速度も速いC#で開発しています。

AR、VR

UnityはARやVRにも対応しています。Unityにはアセットストアと呼ばれる「背景・素材・音楽・アクション・プラグイン」などの素材を販売する公式ストアがあり、クリエイターが公開している有料・無料素材を購入して組み合わせるだけで簡単に開発ができます。そのため、個人や中小の企業から、大手企業まで多くの開発ベンダーがUnityを使用してAR/VRアプリの開発を行っています。

PlayStation Mobile

少し前になりますが、2015年にコンテンツ配信が終了したPlayStation Mobileで、SDKを利用して開発する場合、PSMStudioというIDEを使用していました。このIDEで利用する言語がC#でした。

C#の将来性とは

C#の用途である業務用アプリ、スマートフォンアプリ、WEBアプリ、AR、VRの観点から将来性について考えてみます。

業務用アプリ

新しい言語の登場で、C#が脅かされているわけではありませんので、引き続き、安定した需要が見込めると想定されます。

AndroidやiOSなどのスマートフォンアプリ

C#をメイン開発言語とするUnityのシェアが高いこともあり、こちらは今後も需要が伸びていくと想定されます。

WEBアプリ

大手では選択される可能性があるものの、スクリプト言語が強いWEBアプリでは、あまり需要は安定しないと考えられます。

AR、VR

こちらもUnityのシェアが高いうえに、今後ARやVRを利用したアプリは増えていくと考えられるため、需要は伸びていくと想定されます。

このように、C#は利用用途が限定されず汎用的に扱える言語です。そのためC#エンジニアは、今後もさまざまな場面で高い需要が見込まれ、将来性は高いといえます。

C#の開発環境を構築する

C#の開発環境の構築はマイクロソフトが提供するVisual Studio(VS)を利用する方法がもっとも簡単で安定します。そこで、ここからはVisual Studioを利用して簡単に開発環境を構築し、Hello World! を実行するところまでを解説していきます。

Visual Studio

Visual Studioシリーズは、マイクロソフトが開発、提供するIDEで、C#の開発に最適なツールです。Visual Studioは下記のURLからダウンロードすることができます。

Visual Studio のダウンロードはこちら別ウィンドウで開く

ダウンロードした後は、実行するのみです。基本的にほとんどの作業をインストーラが行ってくれるため、環境構築はとても簡単に行えます。どうしてもインストールでつまずいてしまう場合、公式の解説もご確認ください。

なお、2020年5月の時点で最新のバージョンはVisual Studio 2019になります。無償提供のIDEはCommunity版になります。Professionalは個人向けの高機能有償版、Enterpriseは組織向けの有償版になりますが、機能面ではCommunityとProfessionalにはほとんど差がありません。個人で言語学習のために環境構築を行い簡単な開発に利用する場合、Community版でも十分でしょう。

Visual Studio でできること

Visual StudioはPython、PHP、Visual Basic、C++、F#などさまざまな言語に対応しています。オープンソースFrameworkであるASP.NET Coreを用いてWEBアプリやサービス、IoTアプリなどの構築も可能です。拡張機能を利用することで開発環境を自分の用途に合わせてカスタマイズすることができるため、入門者だけでなく高度な開発を行うプロフェッショナルなエンジニアも利用しています。

ソースコードのハイライト機能があり、コーディングしやすいだけでなく、頻出する関数やライブラリの自動入力機能など、手早く正確なコーディングを補助する機能が複数搭載されています。

C#を始めるのであれば、まずはVisual Studioを利用し、使い方を学ぶと同時に言語を学習するのがおすすめです。

C#でHello World!

Visual Studioのインストールに成功したら、まずは最初に言語に触れた時の定番である「Hello World!」の表示に挑戦してみましょう。

まずVisual Studioを起動し、「ファイル」から「新規作成」「プロジェクト」を選択します。

続いて「新しいプロジェクトの作成」画面でC#の「コンソールアプリ(.NET Framework)」を選択し、「OK」をクリックします。

プロジェクト名、保存場所などのプロジェクトを開始するために必要な設定を行えば、新規プロジェクトの作成は完了です。

プロジェクトを作成すると、このような画面になりますので、さっそくC#プログラムの実行の中心となるMain 関数に以下のコードを記述します

Console.WriteLine("Hello World!");

記述を追加したら、Ctrl+F5または「デバッグ」>「デバッグなしで開始」でプログラムを実行します。

このように、コンソール画面に「Hello World!」と表示されれば成功です。

C#のサンプルコードは多数配布されているため、まずはこのようにVisual Studioにコピー&ペーストで入力してコードの挙動を学んでみましょう。またこれ以外に、参考書などを元にコードを書き込み、実際に実行することでも、簡単にC#を試すことができます。

ゲーム・AR・VRなどにチャレンジしたいならC#にチャレンジ!

C#は幅広い分野で活用されていますが、今後は特に、スマートフォンアプリ、ゲーム、AR、VRなどの分野で伸びていくと考えられます。こうした分野に挑戦し、エンジニアとしてキャリアを伸ばしたいと考えているのであれば、C#がおすすめです。C#は簡単に環境構築も可能なので、ぜひ一度試して見てください。

AKKODiSでは、ここで紹介した、業務用アプリ、ゲーム開発、Unity、AR、VRなど、多様な求人を取り揃えています。もちろん経験が浅いエンジニアでも挑戦できる案件もあります。C#をもちいた開発案件で働くチャンスをお探しなら、まずはお気軽にご相談ください。

(2020年12月現在)

AKKODiSコンサルティングに関するお問い合わせ