Programming C#

By Robbe D. Morris

Printer Friendly Version


Robbe & Melisa Morris
Programming C# by Jesse Liberty is designed to provide experienced developers with a comprehensive look at C#.  Hard core developers will appreciate the no fluff authoring style, reference charts, and code samples.  With this in mind, Programming C# is definitely not a book for beginners to the .NET development world.  
 


 
I have mixed feelings about this book.  It wasn't until I had finished reading it when I began to understand why.  The author is clearly very knowledgable in many areas (I encourage you to visit his forum).  So much so that he appears bored with certain key topics and thus skims over them.  On the other hand, more complex topics such Remoting, Streams, Marshaling, etc... were discussed thoroughly.
The opening sections on the .NET framework are light.  If you are looking for background information on how this new runtime works in comparison to other environments, you'll need to look elsewhere.  This 5 page section gives you the basics and that's about it.
The chapters on ADO.NET didn't have enough coverage and had a relatively small amount of code samples in comparison to other C# books.  Most applications written in C# will utilize ADO.NET and developers need a lot more information than this to be successful.
Arrays, Collections, and Stacks are covered comprehensively to say the least.  You'll get more than enough examples and tutorials to create complex methods.  The discussion on the differences between Queues and Stacks was quite helpful.
The threading section was a bit weak.  You'll get the standard explaination and examples found in just about any threading article on the web.  The good 'ol counter example with two different threads.  I would have enjoyed a detailed discussion on thread pooling especially with network requests.
If you are new to the object oriented approach to programming, the author does spend a good amount of time in this area.  By the time you are finished with these chapters, you'll be able to create more complex implementations.  You'll undoubtedly refer to this section many times as part of your design review for the do's and don'ts.
I got the most out of the chapters on Streams and Remoting.  They contain a wide variety of detailed code samples that are extremely helpful.  Especially the Streaming example of a Network Streaming Client/Server implementation.  Of course, I would be remiss if I didn't mention the entertaining Captain Kirk reference during the explaination of marshaling across app domain boundries.
If you plan on writing applications that are dependent on networking remote objects and streams, then this would be a great book to pick up.  It really clarified quite a few questions that I had on the subject and prepared me to create some interesting network based applications.  However, if you really just need the nuts and bolts of C# and ADO.NET, there are better books out there.
 
Table Of Contents
Sample Chapter - Attributes and Reflection


Robbe is a 2004-2008 Microsoft MVP for C# and the .NET Evangelist for Alinean Inc..  He is also the co-founder of EggHeadCafe which provides .NET articles, book reviews, software reviews, and software download and purchase advice.