Jesse Liberty's Programming C#, 2nd Edition
provides an adept and extremely well-conceived guide to the C# language and is written for the developer with some previous C++, Java, and/or Visual Basic experience. This second edition brings the book up-to-date with examples that are guaranteed to run on the shipping version of Visual C#.NET.
It's no secret that many computer books are pretty much devoid of an authorial personality. This title is a winning exception. The author is able to weave in clever examples (using such topics as his own long experience in computing, his dog, Star Trek, etc.) without being coy or getting in the way of presenting real technical information. Liberty's wide experience in computers and general writing skill shows, as he is able to draw on a wealth of examples to move his text forward.
These are a couple of goals at work in Programming C#. First, it's an excellent language tutorial, certainly one of the smartest and best available guides to C# as a language. Early chapters explore basic and obscure language options using inheritance, delegation, interface and the conventions in C# used to implement these techniques. The middle part of the book turns toward the .NET Framework itself, with two useful (and somewhat introductory) chapters on both Windows Forms and Web Forms, for standalone and Web-based applications, respectively.
Later sections crank up the technical knowledge again with several advanced topics on understanding .NET assemblies and deployment in detail, as well as "reflection" APIs that allow .NET programs to essentially modify their code at run time. (One technique, reflection emit, that literally writes bytecodes, will definitely interest expert readers, though it's unlikely most programmers will need to do this.) Final sections look at the .NET stream classes (rivalled only by Java's for complexity). Liberty looks at basic file and network I/O as well as how objects get serialised and marshalled both for SOAP and Web services and "normal" .NET remoting.
The author's sure hand here in navigating the difficult waters of C# and .NET makes for a relatively concise text that is chock-full of useful information on C#. Filled with notably clever and inventive examples, this book is possibly the veteran computer author's best title to date, and it's sure to be a noteworthy resource as experienced developers tackle C# for the first time. --Richard Dragan
"If the 4th Edition, whenever it's released, manages to at least mention the Open Source alternative - although more complete information would be better - that would definitely merit a Top Stuff award because finally the book would be complete. However, as things stand, this book falls short of greatness by a penguin's breadth - it's a solid reference guide that you'll keep returning to for years to come, but needs that little extra "oomph" to win us over completely." - Paul Hudson, linuxFormat, September 2003