Customer Reviews Read 4 more reviews... A Decent Road but Too Many Potholes December 2, 2008 T. Dowdell (Seattle, WA) 1 out of 1 found this review helpful
Having just finished another O'Reilly title (Programming WPF) that I thought was excellent, I was biased when thumbing through C# intermediate/expert C# programming books. I settled on two books and this (an O'Reilly title) was one of them. My confidence was heightened by the cover's prominent badge "5th Edition." After reading most all chapters (I skipped a few non-language chapters) it is clear that the book is about 4 weeks of editing from being 5 star material. Pros ---- - Author is clearly good at his basic craft: educating via the written word - Author has good knowledge of C# 3.0 - Author employs humor to keep material from being dry - Book is fairly comprehensive - Not a lot of fluff, i.e. if it's written it's worth reading Cons ---- - There are some errors in the coding examples - Occasionally new material "appears" but is not introduced, described or otherwise addressed anywhere in the book - Author makes occasional proclamations and generalizations that, to an educated ear, come across as buffoonery - There are gaps -- some language keywords only appear in glossary - Index is weak - Don't care for "Liberty Associates" occurring in code examples - General feeling of being incompletely cooked If this was the first effort of the author, I would have given 3 stars. But with name recognition comes expectations and those expectations were not met.
A book divided cannot stand November 17, 2008 Crazed (Pennsylvania, USA) 1 out of 1 found this review helpful
Let not the title mislead the reader: this is not "Programming" C#, this is "Beginning" C#, and it is two books glued together. The first half of this book is excellent, whereas the second half is mediocre. Those looking for programming strategies, specific add-ons (LINQ, WPF) or the nuances of .NET should continue the search for another book. Roughly half of the book details the language faculties: variables, arrays, delegates, enumerations, interfaces, etc. This division, and the section on ASP.NET, are quite thorough, and comprise an excellent introduction to the language. Its erudite qualities make this a one-stop source for questions about the base language features. Beginning programmers may be lost in swarms of information; however, immigrants from Visual Basic, Java, or C++ will not encounter much difficulty learning the new features of C#, and will appreciate the length of time devoted to these details. However, in the second half, issues arise in the presentation of features such as LINQ, WPF, and threading. The examples given in these sections are aggravating. Often, the source code written does not match what is being described currently, and often will not compile without editing. At times the writer will refer to objects (in code and in prose) with different names in the same breath. Sometimes, he omits whole chunks of code, leaving the reader to fill in the blanks. The errata on his website describes the accidental omission of two whole sections covering C# 3.0 features, but there is far more he has not attempted to fix. The author is well-learned, but it is obvious this book was rushed, causing careless mistakes. In addition to these errors, it is my belief that the sections covering LINQ are not comprehensive enough. LINQ for XML queries are not covered. Furthermore, the sections on LINQ for SQL and ADO.NET are confused, partly due to the author's use of the professional version of Visual Studio, not the Express edition which most readers use. If coverage of these technologies is desired, there are better books designed specifically for these features (which the author admits). The redeeming qualities of this book are in the presentation. Jesse Liberty knows how to entertain the reader. He makes the experience enjoyable, and he explains very well what he actually attempts to explain. Overall, I recommend this book for intermediate programmers, who have general knowledge of pointer-logic, delegates, and object-orientation. Beginning programmers or veteran C# programmers wanting information about new features like LINQ and WPF should look elsewhere.
Careless revision September 20, 2008 Norman (NYC, NY) 6 out of 6 found this review helpful
Jesse failed a loyal reader (C++ in 21 days). I observe that he is busy in producing books recently (co-authoring with other people with his name brand) instead of seriously improving this title. In ONE year period, he has generated the following titles. With a full time job in Microsoft, I doubt how much attention he can give to each of the titles 1. Programming C# 3.0 2. Learning C# 2008 3. Programming .NET 3.5 4. Programming ASP.NET 3.5 5. Learning ASP.NET 3.5 6. Programming Silverlight 2 Just read the Chapter 7 "Strucs" Example 7-1, and its code explanation, you will see how careless he is when putting a piece of code and talking something else. p. 128 "Also notice that the Location constructor takes two integers and assigns their value to the instance members, xVal and yVal." Hey, where are these xVal and yVal in Example 7-1? p. 130 "The definition of the Tester class in Example 7-1 includes a Location object* struct(loc1) created with the values 200 and 300. This line of code calls the Location constructor: Location loc1 = new Location(200,300);" Where is it in your Example 7-1? There is no constructor in the code! Jesse still uses the explanations in the 4th ed book while presenting a code different from the code in the 4th edition. Example 21-4 crashes. These kinds of mistakes are harmful to those who need confirmation about their understanding of new concepts. I doubt that he has really read through the book and checked the compliability before giving to the publisher. The 5th edition cuts a few topics of 4th edition to cater for those materials to be presented in his other books (see the above) so that you have to buy two or three books in stead of one. I do not blame him, maybe it is necessary. If that's case, this book should focus on C# core language concepts with enough depth such that the readers have a one-stop source for C#. Leave Part III and Part IV (even Part II except LINQ concept) to other books. Superficial introducing topics will not be helpful for people who will use them.
A little verbose and poor examples April 21, 2008 Intelligent Signs in the Universe (Seattle , WA) 5 out of 7 found this review helpful
I think this book is a little conversational and a little too friendly for my needs. The examples are poor : Liberty Associates and let's do a web service which tracks MY book sales? I get tired of this, then noticed the second, third, and fifth editions are basically the same. I like the books like Nutshell and Cookbooks, that introduce the concepts piece by piece, with very good real-world examples. Save your money!
Mistakes galore March 28, 2008 Rajeev Goel (Seattle, WA) 12 out of 16 found this review helpful
I respect Jesse for all that he's done to educate the masses in a wide variety of programming-related topics. But I'm not impressed with this book primarily because it is chock full of mistakes. A technical book that contains so many mistakes makes learning the language so much more difficult. I have found code snippets that don't even compile.
|