Most Helpful Customer Reviews
|
|
29 of 33 people found the following review helpful:
5.0 out of 5 stars
The definitive tutorial on the C# language, May 16, 2001
Unless you're just not paying attention, Microsoft .NET is poised to become the biggest thing to hit software development since the introduction of the Win32 SDK. At the forefront of this effort is a new language called C# (pronounced c sharp) - a hybrid of C++ and Java with the simplicity of Visual Basic.Unfortunately, until now all of the first books on C# have really been little more than superficial coverages of the language's syntax where the authors spend little to no time detailing why and when one would want to use the different aspects of C#. What I wanted was a book that not only tells me how to use something (they have on-line help for that), but explains the concepts behind the feature's existence. Now there is such a book: Tom Archer's Inside C#. Archer, who runs the CodeGuru Web site and writes the popular C#/.NET Web newsletter, offers the most complete tutorial on using this new and powerful language. The first section of the book is an overview section aimed at the programmer new to object-oriented and .NET development. This section includes chapters on .NET and the CLR and provides a clear and concise explanation of how it all ties together. Once that is done, he then has a chapter devoted to writing and compiling your first C# application to make sure that your environment is set up properly. From there, the second part dives into writing applications. Here you learn all the fundamentals of C# including its interaction with the .NET Common Type System, value types, reference types and the concept of boxing and unboxing. He then goes on to show how to define classes and struct and write applications using the basics of arrays, enums, properties and indexers. Archer finishes up this foray into the fundamentals of C# by explaining how you can extend the C# language with attributes and how interfaces enable COM-like interface-based programming in C#. In the third section (Writing Code), Archer then covers the topics of expressions, operators, the controlling of program flow and exception handling. In addition, advanced topics such as operator overloading and the use of delegates in writing event handlers is covered. Finally, the last section (Advanced C#) is easily my favorite. This section includes some of the best information I could find anywhere on such subject matter as multi-threaded programming, reflection and versioning. The Interoperating with Unmanaged Code chapter alone covers how to use COM components from C#, how to write "unsafe", or unmanaged code and how to use Win32 DLLs from C#. Having read several of the C# books currently available (Eric Gunnerson's A Programmer's Introduction to C# and Ben Albahari's C# Essentials) I have to say that I was quite pleased that Archer didn't take the easy route in simply telling me how to use a given language construct - but instead took the time to fully explain when and why I would want to use it.
|
|
|
16 of 17 people found the following review helpful:
4.0 out of 5 stars
Very introductory book, May 16, 2001
If you want an easy to read introductory book on C#, this is probably the best so far. If you want to learn how to build real world apps, look elsewhere, as this book does not cover the .NET Framework classes.This bears repeating: This book focuses on C# and not the .NET Framework classes. It is useful for learning C#, but it is not useful for learning how to build business apps. As all of your data access is folded up into the .NET Framework classes, you will not learn data access from this book. While most of the code is simple enough to work under beta 2, the book was written using beta 1. I have yet to run into code that blows up (technical term ;->) under b2, but it is possible. Since it does not cover the Framework, it is probably safe. The strong part of the book is the breakdown of both beginning and intermediate concepts and the plethora of code samples (have to install from the CD to use). Each concept has at least one sample, and some concepts have many more, each building on the first. I have to rate this book as average, as it does not quite measure up completely to the cover copy. I kicked it up one star (to four) as it is an Inside book, which are typically aimed towards the developer/user that is just starting out in a technology. I would have knocked off stars if the code would not compile under b2, as it comes out in the next few weeks. Since it covers the language more than the Framework, this is not an issue. I am sure there are those who think this rating is a bit high, but let me explain. If you are advanced, or have played with C#, this book is not for you. As it is not aimed for the advanced market, per se, I cannot fault the book for what it is. Conclusion: If you want to learn the C# language and syntax, this is not a bad book. As it does not touch the .NET Framework classes, it will not be completely obsolete in a month, as will large sections of every other C# book. If you are interested in learning more about the Framework classes, and building real world apps, I would wait until the next round of books come out. Those in the next couple of months will most likely either be rushed or error ridden, so watch the reviews before buying.
|
|
|
44 of 53 people found the following review helpful:
2.0 out of 5 stars
Not so good..., April 9, 2002
I beg to differ with most reviewers: the book is not so good to deserve 5 stars, or even 4. I give it 2 stars only because 1) it really is one of few books that focus in C# and doesn't go into a myriad of other .NET topics, and 2) some of the examples are insightful. However, the book's goals are inconsistent in general. The first chapters give an overview of object-oriented programming, so it seems the book is geared towards beginners, who might not know C and C++. But many examples use language features that were not introduced before, and in some of them the author doesn't even try to explain what are these things and why were they included. Programmers experienced with other OO languages (mainly C++ and Java) will be able to understand, but these readers wouldn't need to read an introductory overview of OO concepts. That's why the book is inconsistent. Unfortunately, there are more problems: some examples weren't particularly well-thought, and one of them (about user-defined conversions) is nothing short of horrible. Ok, so I may be stupid, but I had to type the code, compile it, and trace its execution step by step to really understand it. And after all this I could not believe what I saw: a Celsius object really stores temperatures in fahrenheit, and only when it is converted to a float through a user-defined conversion is that the numerical value of the temperature is converted to Celsius. The same happens in the Fahrenheit class (which stores temperatures in celsius, in the example). And this conversion to float is only required when the value of the object is to be displayed... talk about "textbook examples". Kids, don't try this at home. It's really terrible, terrible practice in real-world code. As a last note of discontentment, the book really should not be called "Inside C#". Aside from a few superficial looks at what the compiler is doing by examining disassembles of code, nowhere does the book treat the language in depth. It is more of a "fast overview of C# for people that already know at least C++". One of the many examples of shallowness that I happen to remember now is about method overloading: precise rules for overload resolution are not given anywhere, only hinted about. Summing up, it is not worthless, but it's far from definitive. Better books on C# will surely appear, as we developers deserve. Right now I recommend "Programming C#" from O'Reilly over this one.
|
|
|
Most Recent Customer Reviews
|