こんにちは。倉内です。
「プログラミングを学んでみたい」と思った方が最初に選ぶ言語というと、最近はPythonが人気ですよね。
またエンジニアを目指す方にとっては求人数が多いJavaやPHP、Web系のエンジニアに転向したいという方ならJavaScriptなどが候補に挙がってくるかと思います。
ただ、大規模な業務システムからゲーム、スマホアプリ、Webサービスの開発まで幅広く採用されていて、安定した人気を維持している言語があります。それがMicrosoftが開発したプログラミング言語C#です。
今回はそんなC#が気になる方に、言語としての特徴、おすすめの学習方法や書籍などをまとめて紹介したいと思います。少し気が早いですが年末年始にまとまった時間が取れそうな方もぜひ参考にしてみてください。
C#はどんな言語か
C#はMicrosoftが開発したプログラミング言語で、2002年1月にバージョン1.0がリリースされました。
冒頭でもお伝えしたとおり、Webアプリケーション開発、Unityなどによる2Dや3Dゲーム開発、スマートフォンアプリケーションやIoT開発などに利用されています。
Micfrosoftが提供しているVisual Studioという統合開発環境(IDE)を利用でき、初心者の方にとってもそれほど環境構築が難しくないという点からはおすすめできる言語のひとつです。
ただし、構文にC系言語(C、C++など)の影響を受けており、文法は比較的習得難度が高いため、まったくのプログラミング初心者には少しハードルが高めかもしれません。
大規模開発でもよく採用されており、Microsoftが開発したアプリケーション開発・実行環境である.NET Frameworkを使って効率的な開発をおこなうことができます。この.NET FrameworkのおかげでC#はOSなどの環境に依存せず動作が可能になります。
現在(2022年11月28日時点)C#の最新リリースは11ですが、安定バージョンはC# 10です。
C#の人気について
TIOBEインデックス
プログラミング言語の人気を示す、おなじみの「TIOBEインデックス」。毎月発表されるランキングは、話題の言語や人気の推移を知る指標のひとつとして用いられます。*1
ここでは2022年11月のレポートを参照してみましょう。
(出典)TIOBE Index for November 2022
実はトップ10はほとんど順位が不動の言語で、C#は5位です。次にC#だけをフォーカスして見てみます。
(出典)TIOBE Index - The C# Programming Language
最高順位は2012年3月の3位で、そこをピークに低下していたのですが、近年また人気を上げている言語だということが分かります。
GitHubでもっとも使われた言語
GitHub(米)は、2022年にGitHub上で多く使用されたプログラミング言語ランキングを発表しました。
1位の「JavaScript」は長年安定して1位を獲得し、以降の2位「Python」、3位「Java」、4位「Typescript」、5位「C#」も3年間同じ順位を維持しています。PythonとJavaは2019年に入れ替わり今の順位となっています。
(出典)The top programming languages | The State of the Octoverse
実態調査や求人数で見るC#の需要
プログラミング言語の数は、一定の利用者がいるいる言語だけに絞っても250はあると言われています。
その中でリアルな利用実態を日経クロステックが調査した結果があります。「もっとも利用しているプログラミング言語」の4位に選ばれたのがC#です。(その他の結果は「プログラミング言語利用実態調査2022」を参照)
趣味ではなくエンジニアを目指す方は「学ぼうとしている言語の需要はどれくらいあるのか」「求人数は十分あるのか」ということも意識する必要があります。人気や年収が高い技術は少数のプロフェッショナルを覗いてはなかなか求人がない場合もありえます。C#はエンジニアがよく利用しているということは、その点においてはある程度満たしていると考えられます。
ちなみにpaiza転職ではC#の求人*2は約980件あり比較的多いほうと言ってよいでしょう。(ちなみにもっとも多いJavaScriptは1,615件あります)
ゲーム開発の求人が多い印象ですが、業務システム、Webサービス、スマホアプリと本当に幅広い開発案件があるのが特徴です。
C#の学習法
おすすめ学習サイト
paizaラーニング
paizaラーニングでは、初めてプログラミングを学ぶ方向けの全編無料講座「C#体験編」、プログラミング経験はあるがC#は初めてという方向けの「C#入門編」を公開しています。解説の音声はプロの声優さんが担当!
ブラウザ上で動画を見ながら学ぶため事前準備は不要。演習課題が出題されるため「分かったつもり」で終わらせず、しっかり理解して進めていけるのも特徴です。もちろんコードを書く・実行するもブラウザ上で完結します。
他にも多数のプログラミング練習問題を集めた「レベルアップ問題集」、RPGを進めていく感覚で楽しくプログラミングを学べる「Paiza Programming Game」などのコンテンツも豊富です。
講座で学び、問題集やプログラミングゲームでコードを書くことに慣れたら、制限時間内に問題を解いてランクを獲得することで腕試しができる「スキルチェック」にもぜひ挑戦してみてください!詳細はこちら
SoloLearn
英語サイトですが無料で多くのコンテンツを利用できます。
出題される穴埋め問題を解いて次の問題を解放していくクイズ形式になっており、クイズが楽しいのでどんどん先へ進みたくなります。
説明をしっかり読めば初めてプログラミングをする方でも正解することができるでしょう。また、「Try It Yourself」というボタンを押すとオンラインの実行環境が起動し自分でコードを自由に書くこともできます。
スマホアプリ(iOS・Andoroid)も提供されているので隙間時間での利用にも最適です。
++C++; // 未確認飛行 C
C#を学習し始めたら必ずと言っていいほどお世話になるサイトで、基本的な内容はもちろん、データの構造化、コンストラクタ、抽象メソッド・クラスなど初心者が手を出しづらいところまで網羅していてやりごたえがあります。
サンプルプログラムも豊富で演習問題集も解答例とともに公開されています。無料で利用できるという点でも重宝するでしょう。
ドットインストール
ドットインストールは動画で学習できるサービスで、C#入門の講座もありますが、特にUnityの講座があることがおすすめポイントです。
中でも「Unity入門」は全編無料で受講することが可能です。Unityのインストールから始めて、最終的には簡単なゲームをつくって書き出し、動作確認までできるようになります。
C#の最初のステップ(Microsoft トレーニング)
Microsoft 公式のトレーニングコースがはじめてC#に触れる方向けに公開されています。テキストを読み進めながら、ブラウザ上でコードを書いて問題を解くことができます。
公式から提供されているコンテンツかつ基本を順序立てて学ぶことができる点が魅力的です。もちろんすべて無料で利用可能です。
おすすめ書籍
C#は書籍の数も多く、古いものでも参考になるものもありますが、ここでは2021~2022年に出版されたおすすめ書籍をご紹介したいと思います。
ただ、バージョンが異なるとできること・できないことも違ってくるのでご自分の開発環境に合わせて選んでみてください。
基礎からしっかり学ぶC#の教科書 第3版 C# 10対応
2022/3/3発売。C#10に対応した入門書です。
ただプログラミング言語として学ぶというより、開発者として必要な前提知識(要件定義など)についての説明もあり、エンジニアを目指す方はもちろん現役の方にも役立つ1冊です。
独習C# 第5版
2022/7/21発売。おなじみ独習シリーズの最新版です。
Visual StudioでのC#を扱う前提で書かれており、はじめて統合開発環境を使う方もスムーズに取りかかれます。
プログラミング自体が初めての方には少し難しいかもしれませんが、ある程度独学でC#を身につけたい方にはおすすめの1冊です。
C#コードレシピ集
2021/8/11発売。C#9.0に対応しています。
初心者から一歩ステップアップしたい方におすすめのコードレシピ集です。「どんなコードを書くとよいか」のヒントになるコードが多く掲載されています。
マンガでわかる Unityゲーム開発入門
2022/10/19発売。タイトルの通り全編マンガのUnityの入門書です。
楽しく学べるため、これまで普通の参考書で挫折したことがある方は一度試してみるといいかもしれません。
Unityの教科書 Unity 2022完全対応版
2022/6/28発売。
これからUnityを始めたい方が手に取るはじめの1冊としておすすめの書籍です。かわいい猫のイラストにいやされながらUnityを学んでいきましょう。
まとめ
ここまでC#の特徴や学習方法についてお伝えしてきました。
C#はゲーム開発に興味がある方以外はそれほど触れる機会のない言語かもしれません。ただ、本文でもお伝えしたようにMicrosoftが開発したということで定期的にバージョンアップがおこなわれ、統合開発環境やアプリケーション開発のためのツールも使いやすいものがそろっています。
paizaラーニングでも無料の学習講座がありますので、興味がある方はどんな言語なのか実際にコードを書いて確かめてみてください。
「paizaラーニング」では、未経験者でもブラウザさえあれば、今すぐプログラミングの基礎が動画で学べるレッスンを多数公開しております。
詳しくはこちら
そしてpaizaでは、Webサービス開発企業などで求められるコーディング力や、テストケースを想定する力などが問われるプログラミングスキルチェック問題も提供しています。
スキルチェックに挑戦した人は、その結果によってS・A・B・C・D・Eの6段階のランクを取得できます。必要なスキルランクを取得すれば、書類選考なしで企業の求人に応募することも可能です。「自分のプログラミングスキルを客観的に知りたい」「スキルを使って転職したい」という方は、ぜひチャレンジしてみてください。