Full description not available
J**L
Would you tell me, please, which way I ought to code from here?
I should be clear, I am not criticizing this book as being "bad", but it turns out to have been the least useful C# book I've purchased. This is admittedly in part due to my own preferences and perceptions about what I need from various C# books.There is a quote from Alice in Wonderland that I find quite applicable here:Alice: Would you tell me, please, which way I ought to go from here?The Cat: That depends a good deal on where you want to get to.This quote kept coming to mind as I read through all 50 tips. They aren't really tips so much as, well, good ideas, assuming what the author is describing is what you want to do. If it isn't what you want to do, any given tip is either not applicable, or actually a bad idea.I found myself thinking, about each tip, one of three things:1) Well, yes, of course, that's a good best practice. For most of these, I already knew that. The only one that impressed me was using readonly vs const: it was a good overall explanation of how const can backfire.2) Um, no, that really isn't true, though a lot of people think it is. In particular his discussion of StringBuilder vs string concatenation was much less enlightening than googling for the topic and reading useful forum/blog posts.3) Um, I guess that's a good idea, assuming that's what you intend to do in the first place. (Most of the book fit into this category for me.)So I find myself reading tips that are either really obvious, or I believe they're wrong or slightly misinformed, or they really don't apply to anything I need to do at all. The author appears to use C# mostly to write APIs that would be used generally by others, e.g., more on the "web service" side than the "web application" side. If your goal is to write APIs, you may very well find these tips to be much more useful than I do. The tips aren't "wrong", but as I find myself usually writing applications instead of APIs, they don't explain anything that I'd actually use. Other tips discuss architecture decisions that would never come up for the person who is merely responsible for implementing them: this is sometimes useful, but really, architecture decisions are entirely dependent on what you want the application to do (queue the Alice quote again).I would suggest that his worst tip is the one where he briefly discusses the StringBuilder vs string concatenation debate. The tip is to not create unnecessary objects. This is certainly a valid concern. He doesn't really weigh the advantages/disadvantages, rather he simply asserts that StringBuilder is better because fewer objects are created for the garbage collector to collect. I don't want to belabor the already-well-known-and-easily-googled discussions on the matter, but suffice it to say, the real answer is "it depends". Sometimes StringBuilder is clearly the best choice. Sometimes simple string concatenation is clearly superior (the garbage collector really is very smart about how to handle the extra strings that are orphaned by concatenation, so long as you don't abuse it). And String.Format really isn't all that advantageous, either, unless you need special/complex formatting, because it goes and creates a new StringBuilder (with associated overhead and requiring garbage collection) every time you call it."Would you tell me, please, which way I ought to [code] from here?" asked Alice. "That depends a good deal on where you want to get to," replied the Cat.I would steer those who are looking for expert-level knowledge about how C# "really works" to check out Jon Skeet's "C# in Depth, Second Edition", also available from Amazon. It covers many of the same topics, but I believe it provides a deeper understanding of C# such that you don't need any "specific tips", but rather the correct course of action becomes obvious based on the circumstances at hand.
S**N
A new edition brings new insight to C# on .NET 4.0
I have both editions of "Effective C#". The older, first edition did not have lambda expressions, LINQ, or generics (though it hinted at generics towards the end). In the second edition, tips (called "Items") that have since fallen out of practice are weeded out and are replaced with fresh concepts from .NET 2.0, through 4.0.The items are written in a very clear manner. Most of the figures are illustrative of the concepts. Some of the pictures aren't quite as clear as they could be (.NET's Garbage Collector sticks out in my mind - Bill! read some Tufte! :) but for the most part, each item gave a firm understanding. I could read the first and last paragraph of each item to get a clear bird's eye explanation. Later, I would pore over the details with a highlighter and come away enlightened.This book has a sister - "More Effective C#". This was released PRIOR to "Effective C# - Second Edition". I own that copy too, and it's dog-eared by now. The two books go together like peas and carrots, though "More Effective C#" touches on more advanced .NET 3.0 concepts. "More Effective C#"'s treatment of "yield return", dependency injection, and composition in the third chapter alone are inspiring.If you really want to go all out, I'd recommend getting "C# in Depth" by John Skeet. There's a new edition coming out in the summer of 2010. Skeet's book will bring the reader up to speed on the advancements of C# in .NET 3.0 (and soon 4.0) without giving them any specific tips. The "Effective C#" series will give the reader specific tips without bringing anybody up to speed.Also, the author is a cool guy. I emailed him back in 2009 with questions about the first edition and he brought me up to speed by responding on his blog. You are encouraged to give him feedback.I consider "Effective C#" as one of the first books I reach when I want to brush up on my skill set.
J**N
Stick with the print version: Kindle is poorly formatted
Bill Wagner's insights on C# are useful and thought provoking through every edition.I am only going to comment on the kindle version: I bought this book despite a bad kindle review. Sadly, the critique was accurate. The Kindle formatting for the code examples are just not acceptable, even when using Kindle for PC and outputting to a 46" HDTV.The formatting and end result for the Kindle version do not justify the asking price.As badly as you may want a Kindle version of this book, you may need the print version as a companion. I understand the limits of the Kindle and have an extensive library of programming books. This one disappointed my lowered expectations.Amazon: We need a two-tier rating system in the Kindle department. One for content and another for how well the Kindle version is produced. Since we do not yet have this option, I will rate for content.Thank you, Bill Wagner. I have loved everyone of your books.
C**3
OK, but not as good as Effective C++
I loved the Effective C++ book and bought this because it is part of the same franchise. The tips inside are interesting and useful, especially if you are an experienced programmer just starting out with C# (e.g., difference between const and read-only, how properties are compiled). More than a few of the recommendations are really based on the author's opinion of "elegant" or "readable" code. For example, the author advocates almost always using LINQ queries instead of nested for loops; he recognizes the potential performance hit, but argues in favor of it anyway because of the elegance of the resulting code. I appreciate his opinion, but in my own experience the performance penalty is often prohibitive, and as a long-time C/C++ coder, I happen to think nested for loops are very readable. In general, I don't mind espousing some coding philosophy, but I'd rather there were more quantifiable examples in the book.
E**H
Sehr gutes Buch!
Sehr gut geschrieben und mit guten Beispielen. Kann man auch in Fragmenten lesen.Nicht für absolute Anfänger aber Leute mit C#-Erfahrung können hier noch einiges lernen.
A**N
Not for experienced C# person
Nothing much to learn for experienced .Net developers apart from Dynamic programming which is a new feature. I think it is mainly focused on people switching from c++ to C#
N**D
Four Stars
A damned good book and great reference
N**N
Great book. Happy with the purchase
Second hand. Minimal wear. Great book. Happy with the purchase.
ヴ**フ
確実な定番
C#の仕事を初めて担当することになって、C# in a NutshellとMore Effective C#と一緒に買いました。実践的なアドバイス満載で、とてむ役に立ちます。仕事上で、よく参考しています。本が厚くないので、短時間で読めます。
Trustpilot
3 weeks ago
2 weeks ago