Tuesday, February 23, 2010

A must have reference book for C# developers.

C# 4.0 In A Nutshell: The Definitive Reference

Authors:  Joseph Albahari, Ben Albahari
Edition:  4th Edition (covers CLR 4.0)
Publisher:  O’Reilly
ISBN:  978-0-596-80095-6
Price:  $49.99 (US); $62.99 (CAN); £38.50 (British)
Catalog Page:  http://oreilly.com/catalog/9780596800956/
O’Reilly User Group Discount Code:



(5 out of 5 clownfish)

Without a doubt, O’Reilly Media produces many of the finest information technology books on the market. Whether your need is beginner’s level introductions to information technologies or are a more advanced programmer in need of more complex and refined topics, O’Reilly has a book that can meet diverse needs of an audience often with vastly wide-ranging skill levels. One of their numerous series of books are the Nutshell series which their website describes as “topical quick-reference guides that document every nook and cranny of a topic or technology area . . . Designed to be daily companions, these books belong next to your keyboard, at the ready when you need a quick answer” (http://oreilly.com/store/series/nutshells.csp). Having used a couple of the Nutshell selections for a couple of years, I have to say that this description perfectly fits these books. They are not really a book you sit and read cover to cover.

The text contains twenty-six chapters covering all elements of C# 4.0. Notably, the book covers “features new to C# 4.0 and the associated Framework are flagged so that you can also use this book as a C# 3.0 reference” (Albahari & Albahari, 2010). This fourth edition of the book covers the significant new feature set being provided in C# 4.0 including dynamic binding, type variance with generic interfaces and delegates, optional parameters, named arguments, and COM interoperability improvements.

The first three chapters of the text concentrate purely on C# covering the basics of syntax, types, and variables. This front content finishes with advanced topics including unsafe code and preprocessor directives. New C# users should read all three of these chapters sequentially to gain the foundational understanding of the language before moving into the remaining chapters that cover the core .NET Framework including such topics as LINQ, XML, collections, I/O and networking, memory management, reflection, dynamic programming, attributes, security, concurrency, application domains, and native interoperability. For new C# programmers, chapters six and seven (Framework Fundamentals and Collections) should also be read sequentially as they are integral concepts. The text also contains three chapters covering LINQ that should be read sequentially (LINQ Queries, LINQ Operators, and LINQ to XML).

As I examined this book, I realized that it would serve as an excellent quick reference for developers of all levels. However, the book is targeted at intermediate to advanced audiences. For beginners who make the wise decision to include this book in their library, it will serve as an exceptionally useful complement to a tutorial-style instruction to programming in C# 3.0 or 4.0. It will also serve as an ideal companion to books focusing on applied technology such as WPF, ASP.NET, or WCF. In fact, this book should be a required supplementary text for beginning students in C# 3.0 or 4.0 programming classes.

To work the code examples (especially those specific to C# 4.0) you will need the following software tools and documentation:

  • C# 4.0 Compiler
  • Microsoft .NET Framework 4.0
  • Microsoft’s .NET documentation
All three of these items are available in Microsoft® Visual Studio 2010 which includes an express edition of Microsoft SQL Server®. SQL Server is required to run the LINQ to SQL and Entity Framework examples in the text, and includes IntelliSense. Currently, Visual Studio 2010 is available as a download from the Microsoft web page in a Release Candidate version (http://www.microsoft.com/visualstudio/en-us/products/2010/default.mspx). Official launch events for Visual Studio 2010 are scheduled for April 12th.

I would highly recommend this book to anyone interested in developing applications using C# 4.0. In fact, if you develop in C#, your library or bookshelf should not be missing this book. Clear concise examples, a great writing style, and wonderful diagrams of key concepts just add to the overall value of this book. Add to that the fact that you can use this book as a resource for C# 3.0 and it is a no brainer! Another excellent work from the O’Reilly team.

No comments: