Customer Reviews
robdelicata said
"C# 2.0 - Practical Guide for Programmers", by Michel de Champlain and Brian Patrick is a rather serious affair, aimed at experienced programmers seeking to move to C#. It covers the C# language, the .NET framework and object-oriented programming. All pretty scary stuff for new programmers, but working programmers will find its unfussy presentation very refreshing. The book also covers some advanced topics: C#'s type system, generic types (new in C# 2.0), threaded programming, and reflection. The appendices contain (rather oddly) the full C# syntax in an EBNF grammar and (more usefully) details of C#'s XML documentation tags. What's more, the whole book weighs in at a lean 251 pages (just 575 grams), making it ideal to carry around in a bag without causing bodily harm. Perfect as a no-nonsense introduction to C#; perfect as an ongoing reference.
Anonymous said
I have read this book cover to cover and found the experience mind numbing. The authors use EBNF to show syntax when two or three examples would have sufficed. Almost every code example has line numbers and the authors refer back to the line numbers constantly when describing the examples rather than showing the line in question. I think the authors should both take the time to read Head Start Design Patterns, an excellent book, and should follow how the authors of that book illustrates points.
tomato_technologies said
Make sure this book is really what you want before purchasing. The title, "C# 2.0..." is _very_ misleading! There is very little in the way of 2.0 features covered to any degree of detail for one to know how to really understand or use the feature described. While the book does a reasonably good job of describing the features/uses of C# 1.0 (again, see the title of this review), there are much better books out there, albeit much thicker, which are much more readable and provide much better examples (e.g. Andrew Troelsen's, C# and the .NET Platform). Additionally, the book goes to great pains to keep the number of pages at a manageable level - at the expense of readability. If you enjoy reading Extended Backus-Naur Form (EBNF) notation then this is the book for you ;-) For example, to explain the syntax of interface declaration:
--------------------------------------------------
InterfaceDecl = InterfaceModifiers ? "interface" Identifier (":" Interfaces)? "{" InterfaceMembers "{" ";"?
InterfaceModifier = "new" | "public" | "protected" | "internal" | "private"
InterfaceMember = MethodDecl | PropertyDecl | EventDecl | IndexerDecl
In case you forget you will need to page back to the appropriate areas of the book discussing the InterfaceMember's various item definitions for MethodDecl, etc.
--------------------------------------------------
This type of notation is fine for online reference or even the printed language "manual" (The C# Programming Language by Hejlsberg, et. al.), but not this type of book.
Also, the book description states, "* Provides a carefully focused explanation of every aspect of the C# language, including entire chapters on the unified type system, advanced types, collections, generics, reflection and attributes." In chapter 8, Collections and Generics, out of 20 total pages for the chapter there are only 3 1/2 pages devoted to generics, with 1 of those pages comprised of the skeleton listing of 2 BoundedQueue class definitions, one with generics based syntax and one without (i.e. replace all occurrences of int with <T>). By the way, Hejlsberg's book gives a _much_ better introduction/overview to the v2.0 language than this book...it is dense reading and has a very "formal" style, but you will get much more from it than this piece.
To summarize, this book tries to be the "jack-of-all-trades" and ends up being the "master-of-none". Excerpted from the preface, "Finally, all principal features of the C# programming language are covered..." While this may be true in principal it lacks almost all forms of substance and detail. It completely sacrifices quality in favor of page count. If you are looking for a book to give you a 10,000-foot overview of the v1.0 language and a 500,000-foot overview of the v2.0 features and are prepared to decode the text while you read (i.e. translate EBNF -> English) then this book is worth 2-stars; but, when you are done reading this book be ready to turn around and buy another book which actually shows you how to use the language with more concrete explanations and better examples. If you are looking to really learn the language and be proficient with it in the real-world do not waste your time with this "overview"... look elsewhere.
Anonymous said
I know how to program in several other languages and reading this book has allowed me to learn most of C# in a couple of afternoons.
Most C# constructions are accurately explained without innecesary bloat. Introductory chapters for some common libraries like IO, threads or collections are also included