Programming C#, 3rd Edition
As the old adage goes, "the third time's the charm." This is certainly the case with Jesse Liberty's third edition of his Programming C# book(O'Reilly). In the already overcrowded C# tutorial book market, Programming C# stands out as one of the best, and the revisions made to the third edition aim to keep its pole position for the foreseeable future.
The book is divided into three parts. Part 1 thoroughly educates you on the syntax and proper usage of the C# keywords and constructs. Chapters cover everything from general object-oriented language fundamentals (classes, objects, inheritance, encapsulation, polymorphism, and so on) to the more interesting aspects of the C# language such as operator overloading, boxing/unboxing objects, and working with arrays, collections, indexers, strings, and regular expressions. Part 2 leads you through several real-world programs, effectively applying what was learned in Part 1 to live implementations. You will construct both desktop Windows and Web-centric applications that do everything from connecting to databases to consuming and serving Web services. Part 3 is all about specific .NET and Visual Studio .NET details as they apply to the Common Language Runtime (CLR). These chapters range from assemblies and versioning, attributes and reflection, marshalling and remoting, threads and synchronization, streams, and .NET and COM interoperability. An appendix listing and defining C# keywords closes the book.
If you've been won over by the first and second editions already, the third edition revisions update the book to reflect changes in version 1.1 of the .NET Framework, and it uses Visual Studio .NET 2003 to construct Web- and GUI-based C# applications. Additionally, Chapter 12 (Delegates and Events) has been almost entirely rewritten to help clarify this more advanced topic. Finally, the new edition is peppered with bountiful tips for migrating C++ and Java developers, accelerating the learning process for these readers.
Although the book is geared toward an introductory to intermediate audience, programmers already familiar with the C family of languages (C/C++/Java) definitely have an advantage over Visual Basic and Delphi developers due to the C-style syntax of many of the statements and structures used in C#. Nevertheless, Liberty's writing style is like that of an efficient mentor - he patiently reiterates important points even though an explanation has been expanded already a paragraph or two earlier. I can practically hear the voices of my most effective instructors in his writing when he practices this tutoring approach.
The other notable tone of Jesse's style is that he is obviously an enthusiastic C# advocate who appreciates the language's sophisticated advantages while not crossing the line into an advertorial for Microsoft's new language. Lastly, the content is lean and buffed - virtually no page filler in this title.
Owners of the previous editions probably don't need to purchase this latest revision, especially if you're actively practicing C# coding techniques in your daily tasks. But if you're a C, C++, Delphi, Java, or VB programmer ready to take the plunge, Programming C# definitely belongs on your bookshelf.
- Michael Riley
Programming C#, 3rd Edition, by Jesse Liberty
Publisher: O'Reilly: http://www.oreilly.com