Most Helpful Customer Reviews
18 of 20 people found the following review helpful:
5.0 out of 5 stars
Outstanding book for helping to write great C#, November 3, 2006
This review is from: Accelerated C# 2005 (Paperback)
I've got to say this is one of the best .NET books I've read in some time. The chart on the book's back cover bills it as something to read before Troellson's "Pro C# and the .NET 2.0 Platform", but I think it's actually more advanced and much more readable than that book.
Trey's work is extremely well-written and comes in at a concise 400 pages. He covers a wide range of topics in those pages, hitting everything from syntax to CLR underpinnings to generics to multi-threading. His coverage on the workings of how assemblies get loaded and behave in the CLR is perhaps the best I've read on the topic.
The book is a great balance of small, fundamental details and more complex issues. Examples of the first would include his clear explanation of the difference between using constants and readonly variables -- particularly since he clearly shows the impacts of making a decision for either kind. Examples of the more complex issues would include his very clear, very understandable treatment of threading in C#.
His discussion of the more complex topics are aided by solid examples which often start out showing how not to do things (highly useful) and moving to better ways of doing things. (I should note I found one or two errors in the examples, but the general gist was always clear.) He also scatters a number of good practices or solid design idioms throughout the book such as why Bridge patterns can be helpful in various situations.
Trey also makes occasional, pertinent examples with IL to discuss particular issues, such as how coding things two different ways might end up generating the same IL.
Additionally, there's some good design-level items in the book. There's a lot of pro/con discussion on a number of issues such the drawbacks to inheritance, and there's a VERY good discussion of implementing contract-based design via interfaces as compared to abstract classes.
Overall this is one of the best C# books I've read. I'd put it at a level close to Bill Wagner's Effective C#, which is pretty much the pinnacle of C# books as far as I'm concerned.
Help other customers find the most helpful reviews
Was this review helpful to you? Yes
No
9 of 11 people found the following review helpful:
5.0 out of 5 stars
Highly recommended for target audience, January 3, 2007
This review is from: Accelerated C# 2005 (Paperback)
This is the book I wish I had when I first started learning C#. I came from a C++ and Java background and love how the author quickly identifies the areas in C# that are identical and then focuses on the differences. He comes across in a practical manner and I can tell the author knows what he's talking about. I also didn't feel like I was wasting time on unimportant parts. In some places he even suggests skipping ahead if the material is already familiar (such as the chapter on Classes).
The author's take on "Interfaces and Contracts" was refreshing. It was good to see someone talk about the practical ramifications of choosing between interfaces and base classes and the limitations that choice will place on the client code.
From a web programmers perspective, the chapter on "Delegates and Events" shines light on an oft-misunderstood part of the language. Especially important when creating controls or trying to understand the best ways to interact with existing 3rd party controls. The example of using Delegates to implement the Strategy pattern was a nice surprise (it was still the basic "sort" example that everyone always uses when talking about the Strategy pattern but still nice to see in a C# book).
My only complaints about the book are few and nit-picky. The author spends some time on Enums but doesn't point out the problems many programmers face when using them in the old C++ fashion (ie. can't treat them like int-types anymore). I would have liked to see a chapter on deployment to round out the book although I guess that's not really the focus. I also think the publishers shot themselves in the foot by putting a big "2005" in the title since the info is definitely still relevant and not out of date even now in the beginning of 2007.
All in all, I think that Accelerated C# is a very good book and well worth the price. I strongly recommend this book for programmers who are new to C# but already familiar with C++ or Java. I also recommend this book for those who already know C# but want to "brush up" on some areas. I do not recommend this book for those who have not programmed in C++ or Java before.
I would like to read a book on [...]by the same author.
Help other customers find the most helpful reviews
Was this review helpful to you? Yes
No
5 of 6 people found the following review helpful:
3.0 out of 5 stars
OK, an "advanced" book, then why not read ECMA C# specifications directly?, January 6, 2008
This review is from: Accelerated C# 2005 (Paperback)
First of all, this is NOT a book for C# beginners, period. It is not even a book for someone has zero knowledge of .NET.
This is an "advanced" book for expereienced programmers, prefereably, coming from C++ or Java, or Delphi world.
My major problem with this book is that, the book uses minimal code to aid the flow of description, while the author employed large chunk of paragraphs without ANY simple, easy-to-catch BULLETING and code snippets to illustrate what he is trying to say. As a result, the reader must be VERY patient to read throught all those lines to get the picture.
For example,on page 82, "Static Constructor", the book says "The static constructor is called before an instance of the given class is first created OR before some other static fields on the class are referenced."
Thank god I had a GRE score of 2380 when I applied graduate school. But I still got lost figuring out what he really wants to say, simply, because of the word "OR" the author employed. And he seems very fond of using such sentence structure with a lot of "OR" in it all throughout his book ----- sure your brain must be capable of logical computations while reading!
By constrast, here is the ECMA 334 C# specification in section 17.11:
"The static constructor for a class executes at most once in a given application domain. The execution of a static constructor is triggered by the FIRST of the following events to occur within an application domain:
1. An instance of the class is created.
2. Any of the static members of the class are referenced."
OK. Which one is more clear? There are even other worse cases in the book.
Seriously, if you could understand well the book and really thinks it accelerates your mastering of C#, I would rather recommend you to read directly ECMA C# specification 334.
I am curious how those 5 star evaluation come from (No kidding, are those from the author's buddies?). I give 3 star this book because there are still some gems scattering here and there (mostly about how to achieve good design). But again, you have to be very very patient to go through all those large chunck of paragraphs to get those gems!
Help other customers find the most helpful reviews
Was this review helpful to you? Yes
No
|