|C# Books - Pick of the Shelf Revisited|
|Written by Kay Ewbank|
|Thursday, 03 August 2017|
Page 2 of 3
Christian Nagel's huge book on C# and .NET Core 1.0 Professional C# 6 and .NET Core 1.0 goes some way towards answering questions on which technologies in .NET Core are likely to survive, though as Mike James notes, the book was written in the early days of .NET Core and it was a brave decision to commit to a C# worldview when it could change in the near future. As you'd expect, there are aspects of the book that are already out of date or inaccurate, but this is not a huge problem. It was written mainly with RC1 and some RC2. You do need to download the updated examples from the website if you want them to just work.
"The most important thing to say is that this is not a beginner's book. It is best suited to intermediate C# programmers wanting to keep up-to-date and prepared to risk their bookshelves with a 1000-page volume to be used as a reference. "
Giving it a rating of 4, Mike's conclusion was that while this has ".NET Core" on the cover, the treatment is much like a traditional book on C# with some information on creating WUP apps. He said:
"My main problem with this book is that it is too big. It is really two or three books trying to get out. You can say that covering so much means that there is bound to be something of use, but it also means there is a lot you will never read. Personally I prefer books that are more focused. If you want a big reference volume on C#, .NET and the new UWP apps then this is a good choice."
One book you might overlook when shopping for a book on the C# language is Jeffrey Richter's classic CLR via C#, 3rd Edition (Microsoft Press, 2010). However, Mike James advises:
In many ways what the book is really all about is illuminating the way C# works via an understanding of how its facilities are implemented by the CLR.Thus the book is primarily about C#.
This is a book in the old style, focused on the mechanics of how things work and how to get things done, and as such it should be on the shelf of every C# programmer.
One highly recommended selection for intermediate to advanced programmers, is in the Sams Unleashed series authored by Bart De Smet. Our review is of C# 4.0 Unleashed (Sams, 2011) and there is an updated version for C# 5.0, with coverage of C# 5.0's asynchronous programming features.
Apart from its lack of coverage of the most recent versions of C#, its main disadvantage is its heavy and unwieldy size but this can be forgiven on account of its good explanations and comprehensive coverage.
The style is friendly, but ideas are introduced in a fairly technical style but without making things more complicated than they need be. There are lots of boxouts that provide background information and comments on exceptions and explanations that fit into a wider context. Don't expect to see any long examples - it isn't that sort of book. What examples there are demonstrate the ideas in the shortest possible code. You also won't find very many accounts of how to use use things in clever ways - this isn't a book of hints, tips and tricks, it's about principles.
Given its title, you might expect C# 5.0 in a Nutshell (5th Edition) (O'Reilly, 2012) to be compact. Instead at over a thousand pages it is a "seriously thick book" and is likely to be "daunting for beginners". There's now an updated version covering C# 6, with updated examples and coverage of the new language features, and a chapter on the C# 6.0 compiler-as-a-service, Roslyn.
The book doesn't restrict its coverage to what you might consider the core of C# but instead also covers framework topics including: collections, LINQ, Garbage collection, diagnostics, streams and I/O, networking, serialization, assemblies, reflection, dynamic types, security, threading, parallel programming, asynchronous methods, application domains, interop and regular expressions. Mike James' review, in which the book was rated as a 4.5, concludes:
This is a book C# programmers will find an useful addition to their bookshelves if they require a reference work on C# and the wider framework.
|Last Updated ( Thursday, 03 August 2017 )|