Rating:  Summary: An interesting dichotomy Review: I expected very little from this book. The cover has very little shelf presence and is, frankly, quite ugly, IMHO. I guess you should never judge a book by its cover.First the bad. If you come into this book expecting a real primer, from the dictionary definition of the word, you will be disappointed. While this book does cover the basics, the methodology is almost too strange to help someone first learning the language. If you want to learn C# from scratch, I think there are better books. Having said that, there is a lot to love in this tome. Lippman has a strong grasp of what true programming is about and starts from the very beginning. While most of the revelations are hidden gems, the content is absolutely astounding, if you actually dig for the diamonds. Want an example? Where else will you find an example as deep as this: string usage = @"this is a verbatim string the carriage return will be included in the string" The style is a lot different than other books on the market, which may lead some to shoot this book down. I had the same reaction in the first couple of pages, but quickly changed my mind as I found more and more info that you cannot find anywhere else. As someone who purchases a lot of books (I consider programming a career, not a job), I appreciate every little nugget I get from each book, as, I hope, you do too. Lippman's idea is to show a program and then run through different iterations, showing you a bit more with each turn. This is contrary to the typical, explain first and then show code, methodology, so it will most likely have you off guard at first. But, if you give it a go, the system works. I think this book is best for people who have programmed before, which the author states in the preface, and most likely for those who have read other C# books prior to this one. If you do not have any programming experience, there are plenty of books to start with, like C# .NET Step By Step. One last note, there are some repeat items in the book, along with some typos. It should also be mentioned that the book was written against a version of C# prior to release code, although I do not see that as a major drawback throughout most of the book. This is the primary reason for not giving this book the highest nod, as I am in absolute awe of the little nuggets of info I have received.
Rating:  Summary: Major disappointment Review: I had high hopes for this book, given that it was written by an experienced author and published by DevelopMentor. If you're expecting something up to the usual DevelopMentor standards (see books by Don Box, Tim Ewald, Keith Brown, etc.), however, you will be sadly disappointed. The book reads like a first draft, full of errors, repetition, typos, and garbled prose. The author belabors the easy stuff and glosses over the nitty gritty. Some of the examples don't even compile. A slap dash effort, not completely worthless, but you can do better -- e.g., see A Programmer's Introduction to C# (Second Edition), by Eric Gunnerson.
Rating:  Summary: Lippman does for C# what he did for C++ Review: I have spent the last year and 1/2 working with .NET and mastering C#. It is really hard for me to find good books that add value to what I know already. This is one of the exceptions. I learned C++ from Stan's landmark book "C++ Primer" as did thousands of others. In this book, he takes us through the basics of the language while focusing on pratical problems to be solved and how to use the C# language to solve them. The chapter on class design is worth the price of admission alone. He applies his language and design mastery to many of the key areas of both .NET and the C# language to convey not only the essentials but a deeper understanding. Highly recomended.
Rating:  Summary: Good for C++ Programmers Review: I have three C# books on my desk. Whle Stan's book is a bit smaller than the others, I like it better from the standpoint of a C++ programmer. While I don't know that it was intentional, Stan's strong background in C++ may have been what caused this. Where I've found the book useful is where I want to do something I do in C++ using C#. My sucess rate at finding what I want in this situation is better than with other books. Now, I just want to see a Second Edition with a bit more content!
Rating:  Summary: Good for C++ Programmers Review: I have three C# books on my desk. Whle Stan's book is a bit smaller than the others, I like it better from the standpoint of a C++ programmer. While I don't know that it was intentional, Stan's strong background in C++ may have been what caused this. Where I've found the book useful is where I want to do something I do in C++ using C#. My sucess rate at finding what I want in this situation is better than with other books. Now, I just want to see a Second Edition with a bit more content!
Rating:  Summary: C# Primer - Less Than Practical Review: If you're accustomed to Lippman's previous works, this book will fall hopelessly short of expectation. I found this book to be lacking not just in content, but in direction. The "practical approach" employed by Lippman I found to be less-than-practical. The text feels hurried, does not flow well, and the sample code is replete with errors and inconsistencies. There is also alot of useless prose geared towards warming the junior programmer to object-oriented theory. This is not a good book for someone coming from a C++ or Java background hoping to come up to speed on C#. If, on the other hand, you enjoy long-winded hyperbole on "What is a constructor," with ailing code samples to match, this book is for you.
Rating:  Summary: Excellent introduction to C# Review: Imagine that someone who's intellect and judgement you trust is sitting with you while you are attempting to learn a language. You both start by taking a project that you've implemented in another language and you implement it with the new language - in this case C#. The senior of the two of you shows you what the language has to offer, and some of the common pot holes in which you are likely to step. After you've finished the project you have a much better grasp than if you just read the compiler spec and went at it. This book does just that. Stan has written and excellent book, and I thank him for the effort. He has made the learning curve flatter and saved me hundreds of times the cost of the book. Thanks!
Rating:  Summary: Excellent introduction to C# Review: Imagine that someone who's intellect and judgement you trust is sitting with you while you are attempting to learn a language. You both start by taking a project that you've implemented in another language and you implement it with the new language - in this case C#. The senior of the two of you shows you what the language has to offer, and some of the common pot holes in which you are likely to step. After you've finished the project you have a much better grasp than if you just read the compiler spec and went at it. This book does just that. Stan has written and excellent book, and I thank him for the effort. He has made the learning curve flatter and saved me hundreds of times the cost of the book. Thanks!
Rating:  Summary: An adequate Introduction, but nothing more Review: It is a perfectly adequate introduction to the langauge and nothing else. The discussion of delegates is confusing -- the online docs were better. The book answers how-to use language features, but not why to use them. It does nothing to discuss any of the pitfalls of the constructs in the langauge, like the dangers surrounding implict conversions and operator overloading. Finally he doesn't discuss the Debug, Trace and Attribute classes in any useful detail.
Rating:  Summary: An adequate Introduction, but nothing more Review: It is a perfectly adequate introduction to the langauge and nothing else. The discussion of delegates is confusing -- the online docs were better. The book answers how-to use language features, but not why to use them. It does nothing to discuss any of the pitfalls of the constructs in the langauge, like the dangers surrounding implict conversions and operator overloading. Finally he doesn't discuss the Debug, Trace and Attribute classes in any useful detail.
|