Developers typically have one or more indispensable books that they have always kept close at hand when diving deep into the coding realm. But which ones are really the best of the best? And how can other developers find out what the essential titles are in various categories of development?
DZone has the answer.
With the help of DZone's 300-member Book Review Team, we're picking our Top 100 Book Recommendations for Developers. Over the next few months, we'll be bringing you our top picks in each major category of development, including Java, .NET, Agile, Web Design, and more.
Today we present the best books for the .NET developer community. The books here will help you become a great coder with C#, ASP.NET, PowerShell, WPF, or Silverlight. There are also books on the list that will help you master .NET framework design and prepare for the future with .NET concurrency.
DZone's Top 10 .NET Books
1. CLR via C# by Jeffrey Richter
Dig deep and master the intricacies of the common language runtime (CLR) and the .NET Framework 4.0. Written by a highly regarded programming expert and consultant to the Microsoft .NET team, this guide is ideal for developers building any kind of application-including Microsoft ASP.NET, Windows Forms, Microsoft SQL Server, Web services, and console applications. You'll get hands-on instruction and extensive C# code samples to help you tackle the tough topics and develop high-performance applications.
This book will give you a foundational understanding of .NET at the "systems" level. The 3rd edition adds a lot of useful info on threading and the new parallel extensions. Many .NET developers say that anything written by Jeffrey Richter is worth its weight in gold.
2. C# in Depth by Jon Skeet
In programming, there's no substitute for knowing your stuff. In versions 2 and 3, C# introduces new concepts such as lambda expressions and implicit typing that make the language more flexible and give you more power. Using Language INtegrated Query (LINQ)—also new in C# 3—you can interact with data of any type directly from C#. Simply put, mastering these features will make you a more valuable C# developer.
C# in Depth is designed to bring you to a new level of programming skill. It dives deeply into key C# topics—in particular the new ones. You'll learn to reuse algorithms in a type-safe way with C# 2 generics and expand the functionality of existing classes and interfaces using C# 3 extension methods. Tricky issues become clear in author Jon Skeet's crisp, easy-to-follow explanations and snappy, pragmatic examples. With this book under your belt, you will easily learn—and then master—new frameworks and platforms.
Jon Skeet has worked with C# since 2002, and has been a Microsoft C# MVP since October 2003. He has spent a great amount of time in the C# community answering questions in newsgroups as well as writing articles on the most misunderstood aspects of C# and .NET. After having read tens of thousands of questions over the years, Jon has developed a deep insight into the areas that developers have trouble with, as well as what theyre trying to achieve. A keen reader of specifications, Jon aims to understand the language at the deepest level, which enables him to provide a detailed exposition of C#, including a few dark corners which can trip up the unwary developer.
“I have been developing in C# from the very beginning and this book had some nice surprises even for me. I was especially impressed with the excellent coverage of delegates, annonymous methods, covariance and contravariance. Even if you are a seasoned developer, C# in Depth will teach you something new about the C# language... This book truly has depth that no other C# language book can touch.”
—Adam J. Wolf, Southeast Valley .NET User Group
The 2nd Edition of C# in Depth will be released soon and is currently in MEAP.
3. C# 4.0 in a Nutshell: The Definitive Reference by Joseph Albahari
When you have questions about how to use C# 4.0 or the .NET CLR, this highly acclaimed bestseller has precisely the answers you need. Uniquely organized around concepts and use cases, this fourth edition includes in-depth coverage of new C# topics such as parallel programming, code contracts, dynamic programming, security, and COM interoperability. You'll also find updated information on LINQ, including examples that work with both LINQ to SQL and Entity Framework. This book has all the essential details to keep you on track with C# 4.0.
"C# 4.0 in a Nutshell is one of the few books I keep on my desk as a quick reference. It is a book I recommend." --Scott Guthrie, Corporate Vice President, .NET Developer Platform, Microsoft Corporation
"A must-read for a concise but thorough examination of the parallel programming features in the .NET Framework 4." --Stephen Toub, Parallel Computing Platform Program Manager, Microsoft
"This wonderful book is a great reference for developers of all levels." -- Chris Burrows, C# Compiler Team, Microsoft
4. Framework Design Guidelines: Conventions, Idioms, and Patterns for Reusable .NET Libraries by Krzysztof Cwalina
Framework Design Guidelines: Conventions, Idioms, and Patterns for Reusable .NET Libraries teaches developers the best practices for designing system frameworks and reusable libraries for use with the Microsoft .NET Framework and WinFX. This book focuses on the design issues that directly affect the programmability of a framework, specifically its publicly accessible APIs.
This book can improve the work of any .NET developer producing code that other developers will use. An added benefit is a collection of annotations to the guidelines by various members of the Microsoft .NET Framework and WinFX teams, which provide a lively discussion of the motives behind the guidelines, along with examples of good reasons for breaking the guidelines.
Microsoft architects Krzysztof Cwalina and Brad Abrams offer guidelines for framework design from the top down. From their long experience and deep insight, you will learn
"This book is an absolute must-read for all .NET developers. It gives clear do and don't guidance on how to design class libraries for .NET. It also offers insight into the design and creation of .NET that really helps developers understand the reasons why things are the way they are. This information will aid developers designing their own class libraries and will also allow them to take advantage of the .NET class library more effectively."
--Jeffrey Richter, author/trainer/consultant, Wintellect
"Framework Design Guidelines will help you in two important ways. First, any .NET developer will benefit from a greater understanding of the design principles that govern the .NET Base Class Library. Second, a deeper understanding of these principles will help you to create software that integrates well with the .NET environment. Quite frankly, this book should be on every .NET developer's bookshelf."
--Bill Wagner, founder and consultant, SRT Solutions, author of Effective C#
"Not since Brooks' The Mythical Man Month has the major software maker of its time produced a book so full of relevant advice for the modern software developer. This book has a permanent place on my bookshelf and I consult it frequently."
--George Byrkit, senior software engineer, Genomic Solutions
5. Concurrent Programming on Windows by Joe Duffy
Duffy aims to give application, system, and library developers the tools and techniques needed to write efficient, safe code for multicore processors. This is important not only for the kinds of problems where concurrency is inherent and easily exploitable—such as server applications, compute-intensive image manipulation, financial analysis, simulations, and AI algorithms—but also for problems that can be speeded up using parallelism but require more effort—such as math libraries, sort routines, report generation, XML manipulation, and stream processing algorithms.
“I have been fascinated with concurrency ever since I added threading support to the Common Language Runtime a decade ago. That’s also where I met Joe, who is a world expert on this topic. These days, concurrency is a first-order concern for practically all developers. Thank goodness for Joe’s book. It is a tour de force and I shall rely on it for many years to come.”
—Chris Brumme, Distinguished Engineer, Microsoft
“I first met Joe when we were both working with the Microsoft CLR team. At that time, we had several discussions about threading and it was apparent that he was as passionate about this subject as I was. Later, Joe transitioned to Microsoft’s Parallel Computing Platform team where a lot of his good ideas about threading could come to fruition. Most threading and concurrency books that I have come across contain information that is incorrect and explains how to solve contrived problems that good architecture would never get you into in the first place. Joe’s book is one of the very few books that I respect on the matter, and this respect comes from knowing Joe’s knowledge, experience, and his ability to explain concepts.”
—Jeffrey Richter, Wintellect
“There are few areas in computing that are as important, or shrouded in mystery, as concurrency. It’s not simple, and Duffy doesn’t claim to make it so—but armed with the right information and excellent advice, creating correct and highly scalable systems is at least possible. Every self-respecting Windows developer should read this book.”
—Jonathan Skeet, Software Engineer, Clearswift
6. Real-World Functional Programming by Tomas Petricek with Jon Skeet
Functional programming languages are good at expressing complex ideas in a succinct, declarative way. Functional concepts such as "immutability" and "function values" make it easier to reason about code—as well as helping with concurrency. The new F# language, LINQ, certain new features of C#, and numerous .NET libraries now bring the power of functional programming to .NET coders.
This book teaches the ideas and techniques of functional programming applied to real-world problems. You'll see how the functional way of thinking changes the game for .NET developers. Then, you'll tackle common issues using a functional approach. The book will also teach you the basics of the F# language and extend your C# skills into the functional domain. No prior experience with functional programming or F# is required.
7. Windows Powershell in Action by Bruce G. Payette
"Bruce is a walking encyclopedia of every good, bad, solid, and wacky language idea that has been tried... This is a book that only Bruce could have written."
--Jeffrey Snover, from the Foreword
"The nuances of PowerShell from the lead language designer himself! Excellent content and easy readability! --Keith Hill, Software Architect
"I love this book!" --Scott Hanselman ComputerZen.com
PowerShell replaces cobbled-together assemblies of third-party management tools with an elegant programming language and a powerful scripting shell for the Windows environment. In the tradition of Manning's ground breaking "In Action" series, this book comes from right from the source. Windows PowerShell in Action shows you how to build scripts and utilities to automate system tasks or create powerful system management tools to handle the day-to-day tasks that drive a Windows administrator's life. Because it's based on the .NET platform, PowerShell is also a powerful tool for developers and power users.
Windows PowerShell in Action was written by Bruce Payette, one of the founding members of the Windows PowerShell team, co-designer of the PowerShell language and the principal author of the PowerShell language implementation. The book enables you to get the most out of the PowerShell environment. Using many examples, both small and large, this book illustrates the features of the language and environment and shows how to compose those features into solutions, quickly and effectively.
This book is designed for anyone who wants to learn PowerShell and use it well. Rather than simply being a book of recipes to read and apply, this book gives you the deep knowledge about how PowerShell works and how to apply it. The Second Edition is on the way.
The 2nd Edition of Windows PowerShell in Action is now available.
8. Pro ASP.NET 3.5 in C# 2008 by Matthew MacDonald and Mario Szpuszta
This new edition is updated with everything you need to integrate Silverlight 2.0 and SQL Server 2008 into your ASP.NET applications. You will learn about Silverlight’s exciting new features so that your ASP projects can be rich in visual flair and compelling to the user.
Seasoned .NET professionals Matthew MacDonald and Mario Szpuszta explain how you can get the most from this groundbreaking new technology. They cover ASP.NET 3.5 as a whole, illustrating both the brand–new features and the functionality carried over from previous versions of ASP. This book will give you the knowledge you need to code real ASP.NET 3.5 applications in the best possible style.
This book will teach you ASP.NET 3.5 starting with core concepts before moving on to more advanced topics. You'll learn:
- Core concepts of ASP.NET 3.5. Why it’s special. What its fundamental principals are. The basics of Visual Studio. How ASP.NET 3.5 controls are created, and how they fit into ASP.NET 3.5 pages, ultimately creating full applications.
- Security. Once considered the Achilles heel of all Windows web applications, security has vastly improved and is a cornerstone of ASP.NET 3.5. This book explains the various forms of available security and how to best apply them.
- Web services. In an increasingly connected world, working with web services grows in importance. This book will show you how to work with them.
- ASP.NET AJAX, with an emphasis on contemporary web development techniques.
- Development using Internet Information Services 7, Microsoft’s premier web hosting platform.
- And much more…
9. Pro WPF in C# 2010: Windows Presentation Foundation in .NET 4 by Matthew MacDonald
This book is designed for developers encountering WPF for the first time in their professional lives. A working knowledge of C# and the basic architecture of .NET is helpful to follow the examples easily, but all concepts will be explained from the ground up.
Microsoft's Windows Presentation Foundation (WPF) provides the foundation for building applications and high-quality user experiences for the Windows operating system. It blends the application user interface, documents, and media content, while exploiting the full power of your computer's operating system.
Its functionality extends to the support for Tablet PCs and other forms of input device, and it provides a more modern imaging and printing pipeline, accessibility and UI automation infrastructure, data-driven UIs and visualization, and integration points for weaving the application experience into the Windows shell.
This book shows you how WPF really works. It provides you with the no-nonsense, practical advice that you need in order to build high-quality WPF applications quickly and easily. After giving you a firm foundation, it goes on to explore the more advance aspects of WPF and how they relate to the others elements of the .NET 4.0 platform and associated technologies such as Silverlight.
10. Pro Silverlight 3 in C# by Matthew MacDonald
Full-color graphics and screenshots throughout make Pro Silverlight 3 in C# an invaluable reference for professional developers wanting to discover the new features of Silverlight 3. Author Matthew MacDonald's expert advice guides you through creating rich media applications using Silverlight in the environment you're most productive in—no matter what the target platform.
As you learn about the features that put Silverlight in direct competition with Adobe Flash, such as rich support for 2D and 3D drawing, animations, and media playback, you'll experience the plumbing of .NET and the design model of WPF through Silverlight—all of the same .NET technology that developers use to design next-generation Windows applications. Author Matthew MacDonald provides an comprehensive tutorial written from professional developer to professional developer.
Although Silverlight 3 isn't the most recent version, the "Pro" series is renowned for its thoroughness as a series of books. Silverlight is moving fast, but this book should bring you from zero experience with Silverlight to a great understanding of its foundations. You can also check out the next "Pro" Silverlight guide (for version 4) when it arrives, or get Manning's "Silverlight 4 in Action," which is hot off the presses.
Which of these choices did you agree/disagree with? What books would you add/subtract in this list?
Read the other parts in this series: