||New Reviews| |Software Methodologies| |Popular Science| |AI/Machine Learning| |Programming| |Java| |Linux/Open Source| |XML| |Software Tools| |Other| |Web| |Tutorials| |All By Date| |All By Title| |Resources| |About||
Keywords: C#, .NET, LINQ, CLR
Title: C# 3.0 In A Nutshell
Author: Joseph and Ben Albahari
Verdict: Highly recommended
In spite of the gigabytes of data available with just a couple of clicks away, there's no doubt that for some developers at least books remain a valuable resource. It's not just the always-on access of a book that makes it useful, it's the ability to bring together different resources in one place and in one convenient package. In the case of a desktop reference however, the question has to be, is this better than a decent web site?
C# 3.0 In A Nutshell presents the reader with a wealth of information about C# 3.0 and .NET, including a fairly solid introduction to the features of .NET 3.5, including the introduction of LINQ. While it's designed for existing C# developers, the book includes a good introductory tutorial that means that readers with Java or C++ experience, for example, can quickly pick things up. That said, it's certainly not really suitable for those wanting to learn programming for the first time.
While the first four chapters provide an introduction to the .NET framework and the C# language, it's the rest of the book that really provides the material that experienced developers will be looking for. In particular those moving to C# 3.0 from earlier versions will find the chapters on new language features, such as lambda expressions and the other components that have been put into place to support LINQ. The three chapters devoted to LINQ provide a really solid introduction to this technology.
Other chapters look in detail at specific areas: threading, security, streams and I/O, networking, reflection and metadata, integrating with native DLLs and more. In every case the information content of the book remains high, though at the same time the text is very readable and easy to follow. It's to the credit of the authors that they've managed to produce a book packed with content but which doesn't read like a spooling of API documentation.
Code plays an important part in the learning process, and there's lots of sample code included. A lot is in the form of quick snippets, but there are also plenty of small but complete programs on offer (and which can be downloaded from the O'Reilly site). Additionally it's worth mentioning that there's good use of diagrams, particularly useful when navigating complex libraries and classes hierarchies.
Readers of previous editions may be wondering how come the book manages to cover a whole lot of new material, including the extra chapters on LINQ, and yet still manages to have a slightly lower page count. The answer is that a lot of the purely reference chapters - which looked in detail at particular libraries - have been dropped. This is a sensible move as it recognises that for relatively static reference content the web and/or Visual Studio are better, and it means that the focus is much more on tutorials and examples.
Overall this is an excellent resource for C# developers and is therefore highly recommended.