こんにちは。倉内です。
C#はWebサービスやアプリケーション、スマホアプリ、そしてUnityを使ったゲーム開発など幅広く採用されているプログラミング言語です。
プログラミング言語の人気を示すTIOBEの2020年8月調査では、C#は5位にランクインしました。(出典:TIOBE Index for August 2020)
基本的な内容は学習サイトで無料で学べることも多いので、興味がある方はぜひ取り組んでみてほしいのですが、学習サイトによって学び方や扱っている内容に違いがありますよね。
そこで今回は、C#の基本を学べる6つの学習サイトをいろいろな項目で比較してみました。自分に合った学習サイトを見つけるときの参考にしてみてください。
なお、各学習サイトの情報は2020年8月11日時点のものです。
学習サイト6つの基本情報
学習形式・料金比較
サービス名 | 形式 | 料金 |
---|---|---|
ドットインストール | 動画・ローカル環境 | 「C#入門」一部無料(月額980円)*1 |
paizaラーニング | 動画・オンライン環境 | 「C#入門編」無料*2 |
++C++; // 未確認飛行 C | テキスト・ローカル環境 | 無料 |
一週間で身につくC#言語の基本 | テキスト・ローカル環境 | 無料 |
Udemy | 動画・ローカル環境 | 有料(コースにより異なる) |
SoloLearn | スライド・オンライン環境 | 無料 |
(補足)実行環境について
オンライン環境とは、環境構築なしにブラウザ上でコードを書いて実行できる環境のことを言います。ローカル環境とは、ユーザーがPCに実行環境を構築する必要があることを指しています。
学習に実行環境の構築が必要な場合は、手順が掲載されているところがほとんどなので、環境構築についても学びたい方は参考にして実施してみてください。
学習内容比較
内容/サービス名 | ドット | paiza | 未確認 | 一週間 | Udemy*3 | Solo |
---|---|---|---|---|---|---|
環境構築 | ○ | ○ | ○ | ○ | ||
変数 | ○ | ○ | ○ | ○ | ○ | ○ |
データ型 | ○ | ○ | ○ | ○ | ○ | ○ |
四則演算 | ○ | ○ | ○ | ○ | ○ | ○ |
条件分岐(if) | ○ | ○ | ○ | ○ | ○ | ○ |
繰り返し(for・while) | ○ | ○ | ○ | ○ | ○ | ○ |
配列*4 | ○ | ○ | ○ | ○ | ○ | ○ |
多次元配列*5 | ○ | ○ | ○ | ○ | ||
メソッド | ○ | ○ | ○ | ○ | ○ | ○ |
クラス(基本)*6 | ○ | ○ | ○ | ○ | ○ | ○ |
クラス(応用)*7 | ○ | ○ | ○ | ○ | ○ | ○ |
コンストラクタ | ○ | ○ | ○ | ○ | ○ | ○ |
構造体 | ○ | ○*8 | ○ | ○ | ○ | |
Dictionary | ○ | ○ | ○*9 | ○ | ○ | |
LINQ | ○ | ○ | ○ | |||
標準ライブラリ*10 | ○ | ○ | ○ | ○ | ||
例外処理 | ○ | ○ | ○ | ○ | ○ | ○ |
メモリ管理 | ○ | ○ |
※文字数の関係で一部サービス名を省略させていただいています。
(補足)学習内容の項目について
基本的な内容を挙げましたが、各学習サイトの名称がこれに完全一致しない場合があります。また、ここに挙げていないコンテンツがあるサイトもあります。
Microsoftが公開している公式ドキュメント「C# プログラミング ガイド」も合わせてごらんください。
6つの学習サイトの特徴
ドットインストール
C#入門はこちら
こんな人におすすめ
- 開発環境の構築からしっかり学びたい
- 動画形式で学習したい
- Unityを使った2D・3Dゲームの開発もやってみたい
ドットインストールでは、「C#入門」で基礎を学ぶことができます。この講座は一部無料で残りは有料のプレミアム会員になると受講できます。
他の学習サイトと違った特徴としては、「Unity入門」というUnityの基本を学べる講座が無料で受講できるところです。入門のあとは「Unityで2Dシューティングゲームを作ろう」「Unityで3Dゴルフゲームを作ろう」(どちらも一部無料)で発展的な内容も学べます。
国内のサイトでUnityの体系だったコースがある学習サイトはまだ少ないのでUnityに興味がある方はぜひのぞいてみてください。
paizaラーニング
C#入門編はこちら
こんな人におすすめ
- 初めてプログラミングを学習する
- ブラウザ上で受講も演習も完結させたい
- ゲームをプレイするみたいに楽しみながら学びたい
paizaラーニングは、ブラウザ上で学習動画を見ながら、内容の復習となる演習問題を解いて学習を進めることができます。
「C#入門編」は全レッスン無料で公開しており、if文・for文、四則演算といった基礎文法からクラスやメソッド、例外処理まで基本的な内容をひととおり習得できます。
特徴としては、難易度別に分かれたプログラミング問題を時間制限内に解く「スキルチェック」や、異世界を舞台にしたプログラミングゲーム『コードクロニクル』『エンジニアが死滅シタ世界』など楽しみながらプログラミングを学べるところです。
ほとんどのコンテンツでC#に対応していますので、基本を学んだあとはこちらで問題をたくさん解いてコードを書くことに慣れましょう。ゲームイベント一覧はこちら
++C++; // 未確認飛行 C
こんな人におすすめ
- 文章を読んでひとつひとつ理解して進めたい
- 基本だけでなくC#の言語的特徴も学びたい
- 豊富なサンプルコードが欲しい
シンプルで内容が整理されているので、独学時はもちろん、開発で分からないことがあって調べるときにとてもお世話になるサイトです。
基本から、データの構造化、コンストラクタ、抽象メソッド・クラス、そしてメモリとリソース管理など初心者が手を出しづらいところまで網羅していてやりごたえがあります。
説明がていねいでプログラミング学習としてだけでなく、バージョン間の違いなど読み物コンテンツも豊富なのでC#を深く理解したい場合におすすめです。
一週間で身につくC#言語の基本
こんな人におすすめ
- 基本を短期間で叩き込みたい
- 要点を掴んで効率的に学びたい
- 練習問題をたくさん解いて理解を深めたい
こちらの学習サイトは「これからプログラミングを学ぶ初心者に、C#を1週間で身につけてもらうための内容」と記載があるとおり、基本編と発展編をそれぞれ7日間ずつの講座に分けて公開しています。
短期間でC#の基本からある程度深いないようまで身につけたい方にはとても役立つサイトだと思います。また、学習した内容を本当に理解できたか試すための練習問題も用意されています。
一点だけ気をつけたいのは、環境構築のページでVisual Studio 2015を例にしているので、今からインストールする方は新しいバージョンを用いてください。(説明しているサイトは検索してみてください)
Udemy
C#コースはこちら
こんな人におすすめ
- 多くの候補から自分に合ったものを選びたい
- 基本から発展、実際の開発までトータルで学びたい
- Xamarinを使ったスマホアプリ開発をしたい
有料ではありますが、動画での学習コースが豊富に提供されており、おそらく学びたい内容が見つからないということはないでしょう。
内容や学習時間、レクチャー数で価格が異なりますが、たとえば「C#初心者が最初に身に着けるべき30の文法」といった初心者向けで比較的手が出しやすい価格の講座もたくさんあります。
最初のいくつかはプレビューで見ることができるので購入前に確かめることができます。受講人数や評価(最高を★5つで表示)も表示されています。
Xamarinを学べる学習サイトはまだ少ないので、C#でのスマホアプリ開発に興味がある方はぜひ活用してみてください。
SoloLearn
C# Tutorialはこちら
こんな人におすすめ
- 穴埋め形式のクイズを解く感覚で学びたい
- ひとつひとつ自分で書けるようになって先へ進みたい
- 英語サイトでも抵抗はない
他の学習サイトと異なる特徴としては、出題される穴埋め問題を解いて次の問題を解放していくクイズ形式であるところです。
ある程度学習を進めると、書いてあるコードの実行結果を考えるという形式の問題も出されます。
解く前に説明があるので、しっかり読めば初めてプログラミングをする方でも正解することができるでしょう。また、「Try It Yourself」というボタンを押すとオンラインの実行環境が起動し自分でコードを自由に書くこともできます。
クイズが楽しいのでどんどん先へ進みたくなります。スマホアプリ(iOS・Andoroid)も提供されているので隙間時間での利用にも最適です。
まとめ
C#の基本が学べるおすすめ学習サイトそれぞれの特徴をお伝えしながら紹介してきました。
冒頭でも記載したとおり、C#はさまざまな用途で採用されていて人気も高いので、これからプログラミングを始める方にはおすすめの言語のひとつと言えます。
また、Microsoftが作った言語というだけあって統合開発環境(IDE)のVisual Studioも高機能かつ無料で提供されていますし、言語仕様のバージョンアップも続けられています。
今日紹介した学習サイトはいい点・ちょっと足りない点がそれぞれ異なるので、目的に合わせて複数のサイトをうまく使ってみてください。
「paizaラーニング」では、未経験者でもブラウザさえあれば、今すぐプログラミングの基礎が動画で学べるレッスンを多数公開しております。
詳しくはこちら
そしてpaizaでは、Webサービス開発企業などで求められるコーディング力や、テストケースを想定する力などが問われるプログラミングスキルチェック問題も提供しています。
スキルチェックに挑戦した人は、その結果によってS・A・B・C・D・Eの6段階のランクを取得できます。必要なスキルランクを取得すれば、書類選考なしで企業の求人に応募することも可能です。「自分のプログラミングスキルを客観的に知りたい」「スキルを使って転職したい」という方は、ぜひチャレンジしてみてください。
詳しくはこちら
*1:関連講座として「Unityで2Dシューティングゲームを作ろう」「Unityで3Dゴルフゲームを作ろう」一部無料、「Unity入門」無料
*2:アプリ開発など有料講座の受講はプランにより月600円から
*3:ひとつの講座内ではなく、Udemy内でのC#関連講座すべて(英語含む)を対象に「○」と判断しています。
*4:foreach文を使った配列のループ処理を含む
*5:おもに2次元配列・3次元配列
*6:アクセス修飾子、プロパティの説明を含む
*7:応用とはクラスの継承、メソッドのオーバーライドを指す
*8:Dictionaryの講座内で説明
*9:コレクションの講座内で説明
*10:おもな標準ライブラリの紹介と使い方を指す