4 of 4 people found the following review helpful:
4.0 out of 5 stars
Excellent tutorial for those with OOP experience, July 19, 2004
This review is from: CodeNotes for C# (Paperback)
I purchased the book because I decided I wanted to learn C#. I liked it because it doesn't dally around much. It is written in a very straightforward style. The code samples are very direct and don't contain extra fluff just to fill out the book (like too many computer books today). I liked the order in which the concepts were presented, with a few exceptions where they brought up a concept way before it was "officially" introduced.
This book is not for the novice programmer, it does not hold your hand. It does a fair job of not making too many assumptions about what kind of language you already use, however I don't believe that a programmer who has only ever used Visual Basic will be able to go through this book quickly. For example, the book has some sections on Object Oriented Programming (OOP) but most of their samples show bad OOP practices (probably intentionally to keep the samples simple and direct). This will almost certainly set a VB-only developer off on the wrong foot.
While I previously applauded the authors for keeping the samples simple, I still fault them for showing bad programming practice when they could have easily shown good practices (for example, catching unnamed or general exceptions rather than specific ones). They clearly don't want to get into the "political" arguments surrounding some issues (such as the use of "goto") and I feel their pain, but they could have been more thoughtful to provide samples that encourage better programming than just the minimal sample that shows the feature. I have not yet seen any of the online samples so these may be better (more about that below).
I would have given the book 5 stars except that it is missing some very important topics: Threads, methods with variable argument lists, most of the Collection classes, memory usage and limitations, distribution (or installation) issues of C# applications and assemblies, assembly versioning (it covers it somewhat but not how to control it), and the IO model (it assumes you get the concept of streams). Instead of covering these topics it often "punted" and sent me to www.codenotes.com to look up a sample, article, etc. The big problem with this is two-fold: One is that I tend to read the book in restaurants, in the park, in my hammock, etc. pretty much anywhere except for sitting in front a computer. Two, I have yet to find the code notes site active when I have gone in search of one of the notes (the web server on that site has been unresponsive the whole time I spent writing this review). This is not just a problem with this book, but with any book that assumes the code notes site will be highly available.
The book also has numerous errors, mainly in the sample code (errors that keep many of these from even compiling, let alone functioning as defined). Many of these errors are obvious cut-paste type errors. The publisher of the book allowed code samples to be broken up between non-facing pages (on facing pages that's not so bad, but when you have to flip the page back and forth to try to figure out a sample that is only 5 lines long it seems pretty silly). I found very few errors in the actual text of the book, however, so there were only a few times (maybe five) that I had to re-read the text to figure out why the sample code didn't match up with the description. Note that I am an expert in both C++ and Java so these mistakes may cause more learning problems for others (for example a programmer who is only expert in VB and has no OOP experience).
Bottom line: If you are expert at C++ and/or Java you will get a lot out of this book. If you are an expert at VB but have studied some Object Oriented language you will also be able to get good use from this book (but it will be slower work). If your only language is VB then you might want to look for a book that doesn't make so many assumptions about your knowledge level. In fact I would suggest picking up a book on Object Oriented Design and Programming first, in C# if you can find one, in Java if not, and that will give you a big boost to prepare you for C# (you can use any Object Oriented Design book, but Java is the closest language in which you are likely to find an existing book).
Help other customers find the most helpful reviews
Was this review helpful to you? Yes
No
2 of 3 people found the following review helpful:
5.0 out of 5 stars
Very good book, March 5, 2003
This review is from: CodeNotes for C# (Paperback)
This book was reccomended to me by my Senior colleagues and I felt very thankful to them when I started reading this book. It is really a good book if you want to start C#. Very good reading and the authour presents his ideas very straight forward.
I like the extra pointers that you can explore it in their website if you are interested more about some particular areas.
After a long time I really enjoyed reading this technical book. My thanks to the authour and the publisher in bringing out such a good book in a very low price.
Regards
Mani Subramanian
Help other customers find the most helpful reviews
Was this review helpful to you? Yes
No