Rating: - A Great Introduction To C#!
Focus of this book is on the language itself - It doesn't get side-tracked talking about Visual Studio and .NET in general, like many C# books. It is written in a clear, friendly tone and the concepts and definitions are easy to understand. The organization is also well thought-out. Like all 21 Days books, it is divided into 3 weeks of 7 days (chapters) each. In this book, Week 1 covers language basics, like using the compiler, variables, operators, control statements and an introduction to classes and methods. Week 2 goes into more intermediate language topics like enumerators, arrays, exception handling, inheritance, interfaces and delegates. Finally, Week 3 introduces a some advanced C# topics like operator overloading and reflection as well as demonstrating how C# fits with the rest of the .NET world, specifically, the .NET Framework, Windows Forms, Web Services and Web Forms.
One caveat: If you don't have a lot of programming experience, the first couple of days cover conceptual topics that may be a little confusing. Don't let that trip you up. Just skim over them ignoring anything you don't understand and head to Day 3. That where the real meat of the programming topics begin and from there it starts at the beginning and builds on itself, as you'd expect.
I particularly liked the Week In Review sections that provided extended examples (often several hundred lines of code) that demonstrate the concepts covered in the previous week. Cross-references make it easy to look up anything that is unfamiliar. This really helps pull together the concepts and helps you understand how to apply them to real-world code.
Overall a great tutorial that doesn't skip around or backtrack like so many computer books do. The organization also makes it a good reference for looking things up after you learn C#.
Rating: - All the C# that you need to get started
I have heard much about C# (pronounced C-sharp) over the last year, ranging from the bitter to the laudatory. In reading other books about the language, I was unable to formulate an opinion regarding the impact it will have. Well, after reading this book, it is clear that C# will have a major impact, and in this restricted job market, it is an excellent career move to learn how to use it. For years, I have heard C++ referred to as a "safer C", which is of course nonsense. In my experience, the sheer size of C++ makes it more, not less dangerous than C. However, in my opinion, there is no question that C# is a safer C. It retains some of the more attractive features of C++, such as operator overloading, yet the more dangerous concepts such as memory management and multiple inheritance are eliminated. Before reading this book, I had some experience with C# and was looking for a text to use in the corporate training classes that I am creating. My search has ended. The lessons follow the traditional sequence of background, variables, operators, control structures and classes before moving on to the advanced topics. This is the best way to learn a new language, as nothing complicates education more than being exposed to topics without suitable background information. The lessons are clear, concise and illustrate no more than the points to be made. Some argue that large projects built one segment at a time are the way to learn a language. I could not disagree more. Beginners need short, specific lessons that illustrate only a few topics. Large projects tend to overwhelm them to the point that the frustration level increases, which has a negative, cascading effect on their understanding. This is a book for beginners, easily handled by anyone with some knowledge of C++ or Java. Those with no other programming experience can still understand it, but must be patient and work through all of the examples.
|