Early Access版から読み進めてかれこれ1年近くになるが、何よりも無事出版されたことが喜ばしい。何故喜ばしいかというと、Programming C# 7.0はEarly Access版のまま頓挫し出版されなかったためだ。むしろそれぐらいここ数年はC#と.NETが激動の時期だったととも言える。
本書は、旧版のProgramming C#に比べると、ASP.NET、WPF/WCF開発や.NET Frameworkの相互運用性に関する話題、Dynamicsに関してはごっそり削られている。ランタイムに関する説明も、.NET Frameworkでは無く、.NET Coreのランタイムを中心的に扱うように変更され、本書の内容もよりC#の言語機能に対してフォーカスされている。C# 8.0に至るまでの様々な言語仕様拡張は網羅されており、C# 8.0を学ぶためには最高の一冊だ。章立てもその順序も絶妙で、恐らく今手に入る中で最高のC#学習書(入門書に非ず)だと思う。逆に言えば本書だけではアプリケーションの開発まで完結出来ないが、それは他の各フレームワークにフォーカスされたより詳細な書籍に当たるべきなのだろう。
筆者は本書の読者像を”Who This Book is For”の中でこう説明している。
I have written this book for experienced developers—I’ve been programming for years, and I set out to make this the book I would want to read if that experience had been in other languages, and I were learning C# today. Whereas earlier editions explained some basic concepts such as classes, polymorphism, and collections, I am assuming that readers will already know what these are. The early chapters still describe how C# presents these common ideas, but the focus is on the details specific to C#, rather than the broad concepts.
私はこの本を経験豊富な開発者向けに執筆しました。長年プログラミングしており、その経験が他の言語であった場合に読みたい本にしたいと思い、今日はC#を学びました。以前のエディションでは、クラス、ポリモーフィズム、コレクションなどの基本的な概念について説明していましたが、読者はすでにこれらが何であるかを知っていると思います。初期の章では、C#がこれらの一般的なアイデアをどのように提示するかについて説明していますが、焦点は広範な概念ではなく、C#に固有の詳細です。
C#プログラマーにそしてこれからC#プログラマーになろうという人に是非手に取って欲しい。
P.S.: Safari Books Onlineでも購読可能です。
目次
- Introducing C#
- Basic Coding in C#
- Types
- Generics
- Collections
- Inheritance
- Object Lifetime
- Exceptions
- Delegates, Lambdas, and Events
- LINQ
- Reactive Extensions
- Assemblies
- Reflection
- Attributes
- Files and Streams
- Multithreading
- Asynchronous Language Features
- Memory Efficiency
コメント