||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#, Java, C++, .NET
Title: C# Unleashed
Author: Joseph Mayo
Publisher: SAMS Publishing
Level: Introductory to intermediate C#
Verdict: Good for experienced developers who like to learn through code
Aimed squarely at experienced coders wishing to learn C#, this is a fairly wide-ranging introduction to the language and some of the class libraries. While there's nothing to say that a complete beginner wouldn't get some value from the book, that is clearly not the target audience. In fact the frequent comparisons with C++ and Java point towards the kind of people the book is best for.
Organised into six sections, the book opens with an introduction to the core language and its syntax - this is the part of the book that more experienced programmers will probably just skim read. Part two looks in more detail at objects and components - from a basic introduction to objects right on through to abstract classes and interfaces.
Part three provides a fly-by of some of the main .NET class libraries: file I/O, XML, ASP.NET, ADO.NET, Windows Forms, Web Services and so on. Whole books have been written about each of these topics, so these chapters can do little more than provide a brief and pointed introduction to some of the big issues in each area. This is one part of the book that could have done with some beefing up. The chapter on databases and ADO.NET, for example, is simply too light, even for an introductory piece.
Part four is entitled 'Extreme C#' for some obscure reason. In reality it returns to the language to look in more detail at a series of practical topics, including threading, strings, collections, reflection, integration with COM etc. Many of these topics are essential for real-world applications, and the supplied code usefully supports the text.
Part five looks at the 'C# Environment', which means looking at garbage collection, cross-language programming, assemblies, the common language run-time and so on rather than the Visual Studio.NET development environment (which does not feature very much at all throughout most of the book - most of the code examples are compiled from the command-line).
Finally part six contains a set of appendices which cover compilation in more detail, the .NET frameworks class library and lists of on-line resources.
As should be clear from all of that, the book covers a wide range of material, more than enough to get people started with coding. The emphasis is always on the practical rather than the theoretical, this is not a computer science text it's a programmers book. At times the text is rather terse, Joseph Mayo often lets the code do the talking - how you respond to that is a matter of taste, some people prefer to learn from the code while others prefer to gain more from the text. If you're of the latter persuasion then you may find this a rather uninspiring read, even though the technical quality of the content is high. If you prefer to go by the code then the chances are that this is the sort of book that will appeal to you more.