Delphi Clinic C++Builder Gate Training & Consultancy Delphi Notes Weblog Dr.Bob's Webshop
Bob Swart (aka Dr.Bob) - Medical Officer
 Review: Professional C#
See Also: Dr.Bob's Programming Books for Delphi, Kylix & C++Builder books co-authored by Bob Swart
Professional C#
Simon Robinson, Ollie Cornes, Jay Glynn, Burton Harvey, Craig McQueen, Jerod Moemeka, Christian Nagel, Morgan Skinner and Karli Watson
1131 pages, no CD-ROM

Professional C# is a rather heavy book. Not just because it weighs a few pounds, but also because it's thick (more than 1300 pages) and assumes you have some programming experience. Not with C#, mind you, but with a related language such as Java, Visual C++, Visual Basic or even Delphi.
The book covers the new language C# as well as the fundamentals of the .NET Framework, using the current Beta 2 of the Visual Studio .NET environment. It was written by nine authors, Simon Robinson being the lead-author (he also has the biggest picture on the front cover). Although this is a significant number of different authors, the book still reads fine, without a big changes in writing style from chapter to chapter (however, I did notice the use of "large fonts" in the screenshots of chapter 21, while the others used "small fonts"), and the chapters themselves often flow naturally from topic to topic (and chapter to chapter throughout the book).

The book consists of an introduction, in which the importance of .NET is explained as well as the requirements to write C# code (again, using Beta 2 of Visual Studio .NET). The introduction is followed by 26 chapters and four appendices. The latter are quite interesting actually, and start with an overview of C# for C++ developers (appendix A), an overview of C# for Java developers (Appendix B) and an overview of C# for VB6 developers (Appendix C). The fourth appendix unfortunately doesn't cover an overview of C# for Delphi developers (would be nice), but lists a number of C# compilation option.

As explained in the introduction, the 26 chapters are divided into six sections. Each of these sections has a central topic or technology to focus on, with one or more chapters in the section. As a little downside, I can only report that it isn't made clear in the table of contents (or the introduction) which chapters belong to which section (and hence which sections starts where), which is a shame, because six sections are easier to navigate than 26 chapters. But a pen and a few sticky notes can fix that easily while reading the book. It may take a week or more before you've finished reading all 1286 pages of text - the remaining pages make up the index - since little space is wasted on unnecessary listings, pictures or other items that are not part of the main text.

The first section covers the basics and some advanced topics of the C# language, which is done in the first seven chapters - just over 400 pages on C#.
The second section is about .NET Programming, or rather programming for the .NET Framework using Visual Studio .NET and Windows Forms. This is done in chapter eight until ten, and personally not the most interesting chapters of the book.
The third section is about Data Access using ADO.NET, which is covered in chapters eleven through fifteen. In this chapter we learn about database programming using the latest version of ADO - of course using C#.
The fourth section is about Internet Programming using ASP.NET and web services (with SOAP and XML), which includes chapter 16 and 17. Personally, I found these the most interesting topics of the book, and was sorry it only covered 50 pages (out of 1300). It seemed a bit unbalanced, and I'm hoping for a C# book that focused more on SOAP, XML and Web Services someday.
The fifth section is about Components, and covers backwards compatibility between .NET and COM or COM+ (using C#), starting with chapter 18 and ends with chapter 20. This is an important chapter with information for anyone who needs to migrate or integrate existing (should I call it legacy?) code and applications from COM/COM+ to the .NET world. A recommended read for just about anyone, unless you have the luxury of starting your C# projects from scratch.
The sixth section covers some advanced .NET Programming topics such as graphics with GDI+, Windows services (previously called NT Services) and Security. This runs from chapter 21 until 25. Some of these special topics are quite interesting (like the security issues, although I expect the last word hasn't been said or written on that topic), but others couldn't grab my attention (I never cared much about graphics or GDI+ programming anyway, sorry). The chapters are all well-written however, so not a waste of your time.

All in all, this is a good book that not only covers C# programming, but also (almost) the entire .NET Framework and applications of C# (for windows, database, internet and component programming). I'm still a bit disappointed with the relative small amount of pages that cover SOAP and Web Services, but I'm sure another book will follow soon to fill that gab. In the meantime, I have no reservations in recommending this book to anyone who already knows a little bit of Java, C++ and Delphi, and wants to learn (far) more about C# programming and the .NET Framework.

(Bob Swart)

More Book Reviews

This webpage © 2001-2003 by webmaster drs. Robert E. Swart (aka Dr.Bob - All Rights Reserved.