皆さんこんにちは。まいてぃです。
今回は、C#を学ぶ上でオススメとなる書籍を紹介していきたいと思います。
技術書は高いので、できれば失敗したくないですよね。
僕も3000円も出して買ったのに全然読んでないって本がいくつもあります。
しかしある程度本を読んで勉強はしておかないといけないし、エンジニアや技術系の学生の辛いところですよね。
今回はそんな方がC#を学ぶ際に無駄な本を買わなくて済むように、
C#で様々なアプリを作ってきた僕が特にオススメしたいものを紹介していくことにします。
基本的にC#一つ取り上げても、作りたい物によってどの本を買えばいいかというのは変わってくるので、
今回はそんなところも意識して解説していけたらと思います。
Contents
プログラミング自体が初心者の方向け
まず一つ目はこれです。
こちらは有名な高橋麻奈先生の「やさしいシリーズ」です。こちらはプログラミング初心者向けの本ですね。
このシリーズはプログラミングの本の中でも一番優しい部類の本です。
なので本当の初心者の方に購入していただきたい本ですね。
僕もこの本ではないですが、プログラミング完全初心者の頃に高橋麻奈先生の「やさしいC」を買って読んだ経験があります。
とても分かりやすい本で、
逆に、他の本を読んだことがある人や、他のプログラミング言語の経験がある方などはこちらよりも
下で紹介している「独習C#」の方がオススメかもしれません。
お次はこれです。「猫でもわかる」シリーズですね。こちらも高橋麻奈先生の書籍同様、全くのプログラミング言語初心者向けの本です。
こちらも本当の初心者の方に読んでいただきたい本です。
「やさしいC#」とどちらが良いかといわれると、正直どちらでも良いと思います。
どちらも同じくらいわかりやすく書いていますし、どちらを選んでもそう大差はないと思います。
猫が好きな方はこちらで良いんじゃないでしょうか(爆)
他のプログラミング言語の経験はあるが、C#は初心者という方向け
これは僕もC#初心者の時に使っていた本です。
他のプログラミング言語の経験があればすぐに取っつけるような内容で、すごく分かりやすく丁寧にかかれています。
下で紹介している「独習C#」も素晴らしいのですが、個人的にはこちらの方が更におすすめですね。
分量も丁度よい感じで、挫折することなくC#の基礎をしっかり固められると思います。
これは有名な独習シリーズですね。初心者向きの本ですが、分量が多いので、
プログラミング自体が完全に初心者の方には少しとっつきにくいかもしれません。
上で紹介している高橋麻奈先生の「やさしいC#」などを読んだ後なら読みやすいと思います。
他のプログラミング言語を学んだ経験がある人にもおすすめの本です。
「C言語やjavaならやったことあるけど・・・。」という方がいたらこちらを買えば間違いないです。
独習シリーズは結構厚くて大きながっしりとした本で、網羅性は非常に良いです。
リファレンス的な使い方も可能ですね。
シリーズ化されているくらいですから、多くの人に愛読されている書籍です。
技術書は何冊も買うと高いですから、1冊の本でガッツリ学びたいという方はこちらを買えば間違いないです。
中級者~上級者向け
こちらはC#の中級車向けの本です。
LINQなど、初心者向けの本ではサラっとした解説のみで終わってしまい、
詳しく触れられていないところなどを学ぶのにおすすめの本です。
入門書を読んだだけではできることは限られていますが、この本まで読み終わればC#の基本的な知識はあらかた網羅できているといえるでしょう。
この本をこなすことで、かなりできることの幅が広がってくると思います。
同期処理/非同期処理など、マルチスレッドやマルチプロセスなどの処理を学びたい方はこちらです。
こちらはもう完全に上級者向けの本ですね。
マルチスレッドは少し難しいところがありますが、大きなアプリケーションになってくると必要になってくる概念なので、
業務でC#をやりたい方はこのくらいまでは学んでおいた方が良いかもしれません。
同期/非同期処理に特化して学ぶことができる貴重な書籍です。
WPFを学びたい方はこちら
これまでは「Formアプリケーション」でC#のデスクトップアプリやコンソールアプリを作る書籍を勧めてきましたが、
こちらは「WPF」の書籍です。
「WPF」とはなにかというと、Formアプリケーションの次にマイクロソフトが用意したC#.NET向けのプラットフォームです。
WPFの書籍は少ないですが、Formアプリケーションの次に、WPFでの開発を経験したい方はこちらの書籍が良いでしょう。
WPFもデスクトップアプリケーション向けのプラットフォームですので、
Formアプリケーションと基本的には同じです。
こちらはWindowsFormsアプリケーションと何が違うかというと、
WPFでは「Xaml」というXMLの拡張言語を使用することで、
MVC(モデル・ビュー・コントロール)のパターンの一つ、MVVMパターンを実現することができます。
簡単に説明すると、アプリケーションを中身のロジックの部分と、外観を司るビュー部分に分離してコーディングを行うことができます。
こうすることで、モジュール結合度が下がり、保守が容易になることが予想されますね。
ただし、今はWPFよりも更に新しいUWPというプラットフォームがあります。
UWPを学びたい方はこちら
こちらがUWPのおすすめ書籍です。
現時点でUWP向けの書籍というのは数が少ないため、現時点でUWPを学ぶことができる貴重な書籍です。
UWPはもともとWindowsPhoneやWindows10、XBoxOneなど向けのアプリの開発をユニバーサルに行えるプラットフォームとして開発されましたが、
WindowsPhoneが普及しなかったので、2018年現時点においてはほとんどWindows10向けのプラットフォームとなってしまっているようです。
しかしマイクロソフトが力を入れている最新のプラットフォームであり、
今後も発展が期待できるので、C#をやっていきたい方は勉強しておいて損はないかもしれません。
Xamarinを学びたい方はこちら
C#でiOS、Androidアプリを開発したい方向けはこちらのXamarinを勉強すると良いでしょう。
XamarinにはXamarin FormsとXamarinネイティブの2種類があり、こちらはXamarin Formsの解説本です。
間違えないようにお願いします。
XamarinFormsの方がより新しく、各プラットフォーム間の共通コードの割合が大きくなり、
プラットフォーム毎のコードの書きわけが少なくなります。
Xamarinもマイクロソフトが力を入れて開発してくれているプラットフォームで、
UWP、iOS、Androidの3つのプラットフォーム向けにアプリケーションをビルドできるようになっています。
まとめ
いかがでしたでしょうか。
本当にお勧めの本のみ紹介したので、参考にしていただければ幸いです。
何冊も買うのは無駄なので、自分のレベルに合った適切な本を買って、
買った一冊をやり込むことをおすすめします。
そしてそれがしっかり身についたら次の本に移ると良いでしょう。