Liebe Leser, liebe Leserinnen,
ich bin glücklich eine weitere Rezension zu verkünden. Diesmal ist es über ein Buch, das mein erster Einblick in die C# Programmierungssprache ist. Viel Spaß!
I picked up this book because I wanted a to read something on C# that is somewhat similar to what “Programming: Principles and Practice Using C++” by B. Stroustrup is to C++, and I must say, I wasn’t disappointed. Let’s see why.
First of all, as any book on any programming language should do, it starts with the basics, like syntax, built-in features and types, followed by a deep explanation of how to create user-defined types. After that we can read about advanced language features, like delegates, lambdas, extension methods, operator overloading, etc. in a separate chapter. So far, so good.
At this point we already know the most important things about the language itself, and the author moves on to discuss many other topics, like LINQ, Streams, Networking, Concurrency, etc. all of which are less comprehensive than the first few chapters. This is understandable though, as it is impossible to discuss any of the aforementioned topics in detail in a single book, as they are simply too large for that. The presented level of detail seems to be enough though to provide a usable reference for day-to-day development, especially when one just quickly needs to find a particular feature or a clue, which could help to solve the current problem. If the level of detail is not enough, the comprehensive official online documentation is still available.
So what does the book lack, one might wonder? For one, it is the exercises. A lot of programming books out there provide a set of exercises at the end of each chapter, but there are none in this book. To me personally it is not a great loss, as I always found that simple exercises presented in such books are by far less effective at helping to learn the language than some work on an actual hobby project, so I don’t mind. The author may have had the same opinion, as instead of exercises there is a large amount of sample code covering almost every topic and feature discussed.
All in all, I think that this book is excellent at what it sets out to do: introduce the reader to C# and .NET. The topics are well chosen, each chapter has a well balanced content, the explanations are clear and there is enough sample code to support them. After reaching the end of the book, the reader will have all the background information required to be able to start courses/get coached on developing actual projects. Moreover it can serve to a more experienced developer as a quick reference as well.