Rating: 2 out of 5
There must be a better book
This book suffers from a split intention -- it tries to address everyone from complete tyros to experienced programmers. As a consequence, it doesn't meet anyone's needs very well, and I can't recomend it.As an example, consider its treatment of queues. I can't believe that anyone who has ever written ten lines of code needs to be told what a queue is, so for most readers this is a waste of time. But those who are unfamiliar with the concept will find the book's coverage cursory and confusing. On the other hand, the author several times makes his point by printing dumps of MSIL virtual machine code. How many readers, whatever their level of programming experience, can read this stuff? The book introduces concepts in a few paragraphs, then demonstrates them with a page or two of sample code, most of it (since these are complete programs) useful only for killing trees. The reader is left to pick through the dross: "Oh! I can pass a string to the exception constructor!" and "Oh! I can pass a string and an exception to the constructor!" The author does not provide a prototype of the constructor -- he does not prototype anything. The book is very long on sample code, and very short on necessary detail. Any programmer will need a language reference, and this book does not even provide a summary. The closest it comes is an appendix of language keywords. Consider the entry for "using". "Specifies that types in a particular namespace can be referred to without requiring their fully qualified name types. The using statement defines a scope. At the end of the scope, the object is disposed." Deep thinkers may argue that at an abstract level the two uses of the keyword "using" are fundamentally the same; but to the rest of us code butchers there are two distinct meanings. This explanation conflates them, and confuses us. An experienced C++ or Java programmer can use this book to get a rough idea of the C# language, but he will still need a language reference. A new programmer will be able to type in the sample code and run it, but he too will need something meatier. There must be a better book out there, and I advise you to look for it.
Rating: 3 out of 5
I cannot understand why the rating of this book ....
I cannot understand why the rating of this book in amazon.com is good. I have bought this book based on the reader's review on amazon.com. But now I think the ratings from amzon.com is quite misleading.Before I read this book, I downloded .NET SDK and read C# documentation in it. I cannot find any new depth or information in this book more than the C# tutorial and reference SDK. This book is just cursory. One of the reason could be that C# does not have much to say to learned java/c++ programmer. But anyway, I wish the writer could provide readers with the unique characteristics of C# compared to java and c++. I am disappointed that the author does not mention that C# does not permit to specify the exception in the method definition. This is critical shortcomings from programmer's viewpoint. In conclusion, I have doubt why MS creates another language and why this book has so good reputation from reviewes from amazon.com.
Rating: 5 out of 5
This book deserves 5 stars and more
This is the single best book I've read on C# and may be the best introductory book on programming in an object oriented language I've ever read. There are some surprising reviews below, I suspect they were written by people with an agenda that had nothing to do with this book, because Programming C# is clear and well written, with excellent examples. Liberty goes way beyond the standard documentation to explain all the fundamentals of hte language, which is why this book continues to be one of the best sellers in the field. The first part of the book is a primer on the language, and it is clear, and understandable and to the point. The second part is a quick review of how to use C# to create .NET applications, and the third part shows advanced topics in C#. In addition to having written an excellent book, Liberty supports his book on his web site, where he provides all the source code and a support discussion group, where he personally answers readers' questions. All in all, this is certainly the best C# book I've ever read and may be one of the best programming books I've ever read.
|