I got my copy of Practical .NET 2 and C# 2 about a month ago and with my reading list as it is, I have bouncing around between several books. Some good, some bad and some in between. So I finally got to reading a good chunk of Practical .NET 2 and C# 2 by Patrick Smacchia (the 10 first chapters) and it certainly has its moments. So far I have found it to be a very good book that makes may dry topics move very quickly.
The publisher is Paradoxal Press … a virtual unknown in our industry. And I believe this is their first book in the .NET development space. With that said, overall I have no major complaints about how the book is put together. There are several grammatical errors in the book that I believe should have been caught by the editors, but this is a minor issue.
The author, Patrick Smacchia, is a Microsoft MVP and he touches on a wide variety of topics in this book. I as very skeptical at first seeing that the book covers so much of .NET … I was afraid it was another one of those books that discusses everything but at such a high level it leaves you wanting at every turn of the page. This book is over 800 pages and through the first 10 chapters I have found it to be very interesting as it discusses the .NET framework and its foundation. Much of this may be a review to many readers, but I found that I did not want to skip pages to quickly just in case there was something new I could pick up on a topic I was already familiar with. Despite its density, I have found the book fast moving so far.
I like the way the author explains topics, very direct and to the point. He general describes a topic, why the topic is important, where it is useful and then gives examples on who to use it. This is a not a editorial book like some others I have read lately ... the author is more focussed on explaining .NET than he is on amusing the reader. Perhaps this is why it reads so fast.
Up through chapter 10 the book has focussed on the .NET Framework v2 and the basics of objects in .NET. The rest of the book gets more into the features such as generics, ADO.NET, remoting, polymorhpism, inheritance, base classes, and transactions. So far this book strikes me as a good reference to explain how things work in .NET both under the covers and on the surface. This book lacks practical everyday examples on using may features (so far, thru chapter 10) and instead focuses on explaining what the features are, how they work and where they might be used. This is not a flaw of the book but rather a categorization of it. We sometimes buy books as a reference and other times we buy them for specific problems that we want to solve. This book falls in the former category.
I recommend this to any .NET developer who wants to fill in the gaps and get a solid understanding of the .NET Framework v2. For someone who has written all or parts of 8 books I am impressed with Patrick’s ability to keep the topics flowing along at a pace that both maintains the interest of the reader and manages to get deep enough into each topic. Through chapter 10, this book gets 4 stars out of 5 for me.