C#とは
C#とは、日本を含む世界中で使われているプログラミング言語です。
ウィンドウズアプリケーションを含め、ウェブサイトの構築やモバイル用のアプリやゲームなどを作ることができます。
.NETとは
.NETとは、アプリケーションを構築するためのプラットフォームであり、いくつかのプログラミング言語やライブラリから成ります。
ウェブサイト・モバイルアプリ・デスクトップアプリ・マイクロサービス・ゲーム・機械学習・クラウド・Iot・などなどの開発で使われます。
2000年に発表されて以来、.NETとは.NET Frameworkのことでした。これはWindowsというOSを前提とするものです。
昨今では特定のOSに依拠しない.NET Coreが普及し、2020年11月10日に後継である .NET 5 がリリースされました。
このサイトの記事について
このサイトにある記事の内容自体は入門レベルのものですが、それを読むための前提として必要なものについては逐一記述していません。例えば、アセンブリの参照設定や、Usingディレクティブの記述、コードを書く場所、基礎的な文法、例外処理などです。
他の言語を含め全くプログラミングの経験がない場合は、入門書等で基礎的な内容を学んだほうが遠回りのようですが、結局は早く身に着くと思います。
C#言語は最初に学ぶのに最適
以下のような特徴(メリット)があります。
・開発環境の構築が簡単で無料で揃う はVisual StudioというIDE(開発用のアプリ)のみでほぼOK。無料版あり。
・言語仕様が明確でわかりやすい C系と呼ばれる記述法を基本にしており、可読性の高いコードが書ける。
・機能追加が早い 新しい記述法やライブラリ等の仕様拡張や機能追加が今も行わており古くならない。
・資料や文献が揃っている 入門書から専門領域までいろんな資料や文献が揃っている。日本語版も充実。
・GUIの実装が簡単 画面系の実装はデザインツールを使って簡単に構築できる。
・コード入力が簡単 AIに依る支援まであってサクサクとコードを組める。
・エラーが分かりやすい バグ(不具合)の原因解析が比較的簡単。
デメリットもなくはない。
・プログラミング躓きの石であるポインタを学ぶ機会がほぼない。(*unsafeがあるけど)
・言語仕様に変遷があり、ググった内容が古くて使えない場合などが結構ある。
マシンスペック
開発にはVisual Studioという統合開発環境(開発用のアプリケーション)を使います。
一般的なCommunity版についてのものです。
(エディタ(コード編集)に特化したものや、Mac用のものなどもあります)
最低スペック
・Windows 10:ホームエディションでOK。管理者権限が必要
・1.8 GHz 以上のプロセッサ
・2 GB の RAM
・ハード ディスク領域:最小 800MB、最大 210 GB の空き領域 (一般的なインストールでは、20 から 50 GB の空き領域)。
・720 p (720 x 1280) 以上のディスプレイ解像度をサポートするビデオ カード。
推奨スペック
・メモリ8G以上
・VisualStudioのインストール先はHDDではなくSSD
・WXGA (768 x 1366) 以上の解像度のモニター
.NET系の開発は意外とマシンリソースを喰います。マシンスペックが作業効率(学習効率)に直結するので、なるべく速いマシンがおススメです。
お勧めの学習方法
MSのサイト
川俣さんのC#入門の連載記事
記事が書かれたのは古いですが、内容は今でも素晴らしい。入門用の記事は数あれど、最初に学習するのはここからがおススメ。
https://www.atmarkit.co.jp/ait/articles/0208/16/news002.html
https://www.atmarkit.co.jp/fdotnet/csharp30/csharp30_01/csharp30_01_01.html
https://www.atmarkit.co.jp/fdotnet/extremecs/extremecs_01/extremecs_01_01.html
https://www.atmarkit.co.jp/fdotnet/csharp4/csharp4_01/csharp4_01_01.html
書籍
C#の入門書は比較的多く出版されています。
出版年度が新しいもの・シリーズ物(改版本)・レビュー評価の高いものから自分に合うのを探すのがコツです。
こちらに初学者にお勧めのC#入門書をまとめました。
動画
動画による無料の解説も探すといろいろあります。
日本語のものもあるので探してみましょう。
有料のオンライン教室
有料のオンライン教室でもC#言語を扱っているところがあります。
・Udemy
オンライン学習のプラットフォームで、プログラミング学習系も充実しています。
料金は講座によりますが、しょっちゅうセールをしているのでかなり安価で受講できる場合が多いです。
講座内容は玉石混交ですが、内容に納得できない場合は返金してもらえます。
・Progate
オンラインのプログラミング学習サービスで無料版と優良版とがあり。
無料版は各言語の基礎編になってます。評判いいようですがC#言語コースがないのが残念。
JavaやPythonはありました。
・ドットインストール
初学者向けのプログラミング学習サイト。
C#入門(一部無料)やUnity入門(全部無料)あり。
プログラミング教室
全くの初学者ならプログラミング教室を利用する手も。
思わぬところで躓いたときに質問できる相手がいるのは心強いです。
・TechAcademy
オンラインのプログラミングスクール。
現役エンジニアによるマンツーマン講義。
Unityコースがあり、そこでC#言語が学べる。
無料体験あり。