I have been a proponent of C# since rumors of its existence began circulating with the arrival at Microsoft of master language designer Anders Hejlsberg. Having been a Turbo Pascal and Delphi developer years before C# was unveiled, I knew that the language had a great future ahead. More than 10 years later, C# has matured to become the dominant language of choice for developing applications on the Microsoft Windows platform.
Author Jesse Liberty has also been a firm believer in the power of C# and has shepherded his best-selling Programming C# books published by O'Reilly for nearly the duration of C#'s existence. As such, the depth of knowledge, guidance, and experience he and his co-authors bring to the latest Programming C# book, Programming C# 4.0, is both respectable and dependable.
The print edition of the book exceeds 800 pages of densely packed material. The book spans over 22 chapters of C# goodness, starting with basic programming concepts (namespaces, types, variables, flow control, etc.), abstractions (classes, structs), and other principles such as polymorphism, interfaces, and delegates. Chapters 6 through 9 cover exception handling, arrays, and lists, LINQ and collection classes. Strings, Files and Streams, XML, Networking, Databases, and Assemblies are detailed in the next six chapters.
Advanced topics like threads and asynchronous programming, reflection, dynamic types, and Win32/COM Interop are explained in chapters 15 though 19. Chapter 20 on Windows Presentation Foundation and Silverlight spans 40-plus pages and, like the rest of the book, is well written and chock full of tip callouts, such as the fact that Silverlight supports only JPEG and PNG bitmaps. According to the book, Microsoft wanted to keep the Silverlight plug-in download small and chose to reduce the size by supporting a small number of image formats.
Chapter 21 covers ASP.NET programming, walking readers through the basics of using server-side controls, and data binding, accompanied by plenty of screenshots to walk newcomers through the process. The book concludes with a very brief (less than 20 pages) chapter on Windows Forms.
Considering how other C# references typically place Windows Forms before other Microsoft user interface technologies like WPF and Silverlight and also spend a lot more ink on the designing and coding forms, Programming C# 4.0 represents the latest sign of the times in that WPF and Silverlight are taking center stage. As such, the only small criticism I have toward the book is that even more space should have been allocated to delve into these two technologies. Perhaps the authors are working on a follow-up book on developing Silverlight applications. Given the fact that Jesse is currently the senior program manager for Microsoft Silverlight, this deeper exploration of Silverlight would be an easy (and hopeful) assumption to make.
I have been consistently satisfied with the high-quality work that Mr. Liberty and co-contributors Ian Griffiths and Matthew Adams have written in the past, and Programming C# 4.0 further solidifies this satisfaction. Even for those who own previous editions of Programming C#, the 4.0 release represents one of the most comprehensive titles on next-generation C# development available today.
Rating: 5/5 stars
Mike Riley ([email protected]) is an advanced computing professional specializing in emerging technologies and new development trends. He is also a contributing editor for DevProConnections. Follow Mike on Twitter @mriley.