
Great book to learn C#I work at Microsoft, so I am naturally interested in new publications on .Net and C#. I like this book. It's concise and compact, the language is simple and informative, and it delivers well on the promise of completeness.
I find especially useful parallels with other languages, like C++ and Java. It's sometimes easy to miss some subtle changes between languages and assume something, which is not true, with nasty bugs as a result. Such comparison helps to avoid that.
I also like that author managed to put so much information into relatively small volume. Most computer books are so bulky that it takes weeks to read through in your free time. And when you are working 10-12 hours a day, you don't have much free time. Not with this book. It can be slowly read in evenings in a week, and if you want just to get a grip on the language and start to write code, single evening may be enough.
The only word of caution could be that the book does not really cover .Net Framework library. I actually like that, because I hate the books describing libraries, there is SDK documentation for this. And that left a space for a deeper description of the language intricacies, which are essential. But some people may consider it a flaw.
Buy Something Else -- Anything ElseI wish the rating system had something other than stars, like black holes. This book rates many of them. It deserves NO stars.
If you are interested in a 5th rate version of Harry Potter, 3rd world English, and a general waste of your time, I highly recommend this book. On the other hand, if you want to learn C#, not waste your time trying to understand a grammatically obtuse collection of words (hardly sentences), and learn how to use a programming language, then go for another book - almost any book.
I have a strong dislike for programming books that waste my time. I have no desire to learn about an author's dog or fishing trip, and definitely no desire to read something by a J.K. Rowling wannabe. I don't know what the author intended by the inclusion of such drivel in a software training manual but I, for one, found it a pathetic attempt at communication. Perhaps the worst aspect of this missed attempt at `something' is that there is crucial technical information contained in this pathetic chatter between her fantasy creatures - you can't just skip the stuff.
There is probably some value in this book but, since I lack a fireplace, I also lack any guess at what it would be. Of the several hundred, possibly thousand, technical manuals I have read, this is without a doubt the worst. I strongly suggest that you do not spend your money on this until you have had a chance to actually read a few pages here and there.
One good note, the artwork on the cover was well done.
Precise and to the pointIt's started on a slope of the hill... Three hackers, one from mainframe, another from Linux, and the third one from Java, decide to learn the new language from Microsoft... Their dialogs inserted across the book take a very small part of the text, but they add the humor and very nice personal touch, such as I did not see since Algol-68 specifications. And they also help to understand many things much better.
What is probably the best thing, I like about this book, is that it does not just say what the language does, but why it does that and why it was designed this way. Frankly, I was puzzled by #region directive in C# before, and now it makes perfect sense.
I also like, that this book is concentrated on the actual language, not on Microsoft tools and which key to press, when computer wants "any" key. This book respects the reader, assumes simple things, and explains complex ones. At least it worked this way for me.
Good book for good programmers, but use Look Inside firstI like this book and find it quite useful, but I agree with the previous review: it's not for everybody. Which is probably true for any book.
There are two kinds of programmers: those who operate in concepts and those who just memorize slobs of APIs. In "Programmer's Stone" (check it in Wikipedia) they call it two methods of thought: mapping and packing.
Packers just hoard facts, memorize them and make living out of it. Programmer-packer prides himself in knowing all the subtle details of some particular framework. They often start as technical writers or VB programmers and then moving up the stack. Programmer-packer's top of career is a local expert in, say, MFC or Java 2.0 libraries. They often can command good salaries because of impressive list of skills they can show on their resumes. Programmer-packer is indispensable if you want to get a complex framework-dependent solution. That is, if you want a complex framework-dependent solution.
If you are a programmer-packer, this book is not for you. Find a thicker book. Much thicker. Better off with pictures. Seriously. I never had time to waste on those (I am mapper myself), but I know that's what packers use and love.
Mappers on another hand memorize (and often create, if needed) a concept behind the facts, and quickly reproduce the facts out of the concepts. Programmer-mapper prides himself in understanding how the system works (and why it does not). Once they grow over programming, they become architects, managers, execs in their own start-ups. That's whom this book is written for.
While C# is very close to C++ and Java, concepts of class, structure, interface are subtly different in these languages. And concepts like delegates are significantly different. Concepts of the C# language is what matters for a programmer-mapper and that's what this book concentrates on. In fact, two fictional personages who occasionally intrude upon the technical text are exactly these two potential readers. One of them is a C++ programmer, and another is Java programmer.
I did not get the reference to Rowling in previous review. In fact, I was able to talk to the author and she was puzzled by this reference too. The small fictional fragments are merely used to illustrate some harder concepts, that's all. If the author copied somebody, I'd say it's revised standard of Algol 68, which is full of such illustrations. I also did not see anything wrong with the language, but as I mentioned, packers often start as technical writers, so the author of previous review may have noticed something with his professional eye. Anyway, I agree, view several pages of the book before you buy. They are available on Amazon site using "Look Inside" feature - just click on the image of the cover.
So, if you are a mapper kind of programmer who for some reason did not learn C# yet, this book should be good for you. It's good for me. I know C#, but I still have it on my bookshelf for occasional quick reference when working on real products.
Very DisappointingFar from getting a good book full of tips and tricks, the authors present little more knowledge than could be gleaned from a few sample source files. From general misstatements about other languages on, this book falls very flat. Look elsewhere.
