Rating: - Really good one!
I own may C# books but Jesse's book is the one that I use the most. I like the way he explains things and would recommend it to anyone who either new to the language or who wants to take a look at some concept or language feature from another angle.
Rating: - Programming C#
When Microsoft announced the C# language and the .NET framework in 2000, the reception among programmers was uncertain. Now that the language has had a solid six years to develop itself, it has a solid user base and strong examples of applications. Whatever your opinion of the .NET framework is, there is no denying that C# is popular among Windows programmers, and continuous to grow in usage.
C# is an object-oriented language, and has a decided likeness to other high-level languages like C++ and Java – although C# is noticeably simplified. There are only eighty keywords in the language, and twelve built-in datatypes. The language also shares attributes like interfaces and structs.
However, the C# language also sets itself apart from the more classic languages in a variety of ways. C# has built-in XML capabilities, which aid in the creation of documentation. It also supports a feature called ‘delegates’, which act as type-safe references. C# also provides for component-oriented programming, which stores information using metadata. This metadata can be read and used by another environment, independent of any other information available. Effectively, it is able to create a self-contained unit out of each class.
The material in the book is very well presented, and very well written. After the general introduction at the beginning of the book, there is almost not a single page that doesn’t have code on it. While this might sound a little intimidating, it is a welcome relief from books that give no code examples whatsoever. All of the code is well presented, is easy to read, and commented. Also, and perhaps most importantly, the code is discussed and explained by the authors within each chapter. The authors have done a fantastic job of providing their readers with examples to learn from.
In fact, there is so much code and so much discussion, that the book can be hard to work through. Page after page is filled with solid blocks of text and code, with little relief. This can be done and be kept interesting if the writing includes little anecdotes, jokes, and so forth – but otherwise, it becomes hard on the eyes and mundane. I would have liked to see some more images and diagrams used in the book, and perhaps a little more ‘fun’ text. The entire book doesn’t have to read like a textbook, afterall!
The topics in the book are well chosen and arranged. The first half of the book or so is on programming concepts, syntax, data structures, etc. The second half of the book is split between application examples of C# and working with windows applications (literally – exe files, dll files, etc). I would have liked to see more example applications (perhaps even one on programming for mobile platforms like PocketPCs?), but the authors do a good job with the examples they provide. I also would have also liked to see more information on interfacing with other applications, like Outlook© or Office© - although the authors do leave the reader with enough knowledge to do the research and learn more about how to do something like this independent of the book.
There is clearly a lot of information to communicate, and this is where the authors seem to be a little confused. Personally, I cannot tell if the authors really wrote it so that novice programmers could understand it or not. The beginning of the book states that the book is suitable for anyone, both experienced and in-experienced programmers. However, I found that the material was somewhere in the middle. The authors move at a pace that is fast enough to lose new programmers, and yet approach many topics at a beginner depth that experienced programmers will find redundant. The effect is beneficial to neither party, and I suggest that the authors more decidedly define their audience in future editions to avoid the issue. The end result is that experienced programmers will have no trouble with this book at all, whereas the novice programmer may be a little confused and lost.
Overall, this is a solid text for learning the C# language. I would not personally suggest it as a ‘first-language’ book, but anyone with some programming experience in another object-oriented language should have no problems whatsoever. The C# language has a lot to offer to anyone coding for a Windows© environment, and is increasingly becoming a necessity for programmers in that field. O’Reilly’s C# text is a great lesson in the language, and I recommend it to anyone looking to learn more about .NET coding.
Rating: - Experienced programmers get up to speed fast!
I am an experienced VB programmer and have been using VB/Visual Studio for the last five years. I have dabbled with C# but recently decided I needed to get up to speed and bought this book based on some of the reviews I read here. I started with Chapter 1 and over the course of about two months went through each chapter through the end of the book in 30 minute or one hour sessions in my spare time.
When I finished the book I decided to create an interactive website from scratch and was able to do it in only a little more time than it would have taken me in VB. Most of the extra time was spent referring to the book in order to fully understand some concepts and syntactical differences.
The time was well spent! I feel comfortable with programming C# routine solutions and now use this volume as a reference. I realize that I may need to spend a little more research time should I need to develop solutions to more complex problems.
I like Jesse's style. He presents the material in a very straightforward, intuitive manner and provides excellent examples.
I highly recommend this book if you're an experienced programmer and are looking to get up to speed and productive with C# in a hurry.
Rating: - Must Have
If you are anything but a guru in C# you need this book. I've used this book more than any other book in the last 3 years of learning and writing C# code.
Rating: - Okay book on C#, but just...
Seems to be an okay introduction to C#, but doesn't measure up to the gold standard of computer language books; C&R (The C Programming Language). On the plus side I believe the Author is correct in initially using console applications so the reader can concentrate on the language.
However the author seems to be writing for a rather junior audience, for example the preface actually contains "It is wicked cool." This style of writing gets tired pretty quickly.
Furthermore the initial descriptions of the ICloneable interface is confusing and nearly worthless. For example a note for C++ programmers on page 78 states that "C# doesn't have a copy constructor..." but the following section on the ICloneable Interface states that deep copy should be implemented by "...calling the copy constructor..." Huh?
Experienced programming professionals should look elsewhere, perhaps the "C# Programming Language" by Heilsberg, Wilamuth & Golde.
|