CLR via C# will NOT be updated for .NET 3.5

I get a lot of e-mails asking me if I will be updating my CLR via C# book for .NET 3.5. This blog entry will asnwer this question.

Here is the short answer: NO, I am not updating the book.

Here is the long answer: My CLR via C# book was last updated for .NET 2.0 and I have no intention of updating the book for .NET 3.0 or .NET 3.5. The reason is because my book is really about the CLR and .NET 3.0 and 3.5 still run on top of CLR 2.0.

.NET 3.0 and 3.5 is really CLR 2.0 plus some new DLLs that contain new class libraries for WPF, WCF, WF, Addin support and Linq support. My book has never covered any ancillary class libraries; it has always focused on the CLR itself and the small subset of class library types that talk directly to the runtime engine.

In addition, .NET 3.0 shipped with C# 2.0 and so no changes were made to the C# language/compiler either. Of course, .NET 3.5 does ship with C# 3.0 which does offer many new features (automatically-implemented properties, implicitly typed local variables, extension methods, lambda expressions, object initializers, anonymous types, implicitly typed arrays, partial methods, query expressions, and expression tress). However, all of these features are just compiler syntactic sugar to make syntax easier for programmers. Many of these features are very simple to understand and grasp so I feel that it is not worth updating my book just to cover the new syntax offered by C# to accomplish things you already could do.

While many of the C# 3.0 features are needed to fully leverage the various set of LINQ technologies (Linq to Object, Linq to XML, Linq to Sql, Linq to DataSet, and Linq to Entities). And, while I will address the new C# language features in some future edition of my book (to coincide with the release of a new CLR version), I will never cover LINQ itself; just the architecture that makes LINQ possible.

Also, I just recently completed updating my Windows book (Windows via C/C++, 5th Edition, Microsoft Press) for Windows Vista and Windows Server 2008.

Jeffrey Richter

View Comments

  • Thanks very much for the full explanation instead of just saying No. Look forward to a future edition should the CLR be updated.

  • Jeff,
    I use your book *a lot* for reference, so much so that at this point pages are coming apart.
    I would like to know if is possible to get your book as an electronic book (eBook), not only because this way I won’t have to worry about the book coming apart but also because it would make searching for a particular subject *so much* easier.
    Is this available now, if not, are you planning to make something like that available?
    Thanks.

  • Good stuff. I dont think lot of people realize that .NET 3.0 and .NET 3.5 uses CLR2.0 and the only difference is the new Libraries added to the framework.
    Thanks Jeff.

  • Hi Jeff
    There is no better book that shows the magical world of C#.NET than "CLR via C#".... Programmers like us are very lucky enough to get mentors like you... Keep up this spirit of helping our programming folks ..
    Cheers!!
    Yours eternal fan
    Srivatsa
    srivatsahg@gmail.com

  • Jeff,
    Even though I have your CLR via c# in paper I would really like to have it on my Amazon Kindle it would be so much easier to read. So how about it?
    Thanks
    John

  • hi jeff!
    you did a very good job writing clr via c#!
    however i asked myself the question ....
    how could it be possible that a struct e.g DateTime is derived from the class ValueType.
    if i try to derive a struct from a class the compiler tells me that the given type is not an interface
    normally it is not possible to derive a struct from anything even not a struct itself!?

  • All .NET languages and the clr itself treat ValueType very special. They are always implicitly derived from System.ValueType but langauges never let you specify this explicitly. ValueType overrides some virtual methods that Object has like Equals & GetHashCode.

Recent Posts

How to Navigate Azure Governance

 Cloud management is difficult to do manually, especially if you work with multiple cloud…

5 days ago

Why Azure’s Scalability is Your Key to Business Growth & Efficiency

Azure’s scalable infrastructure is often cited as one of the primary reasons why it's the…

3 weeks ago

Unlocking the Power of AI in your Software Development Life Cycle (SDLC)

https://www.youtube.com/watch?v=wDzCN0d8SeA Watch our "Unlocking the Power of AI in your Software Development Life Cycle (SDLC)"…

1 month ago

The Role of FinOps in Accelerating Business Innovation

FinOps is a strategic approach to managing cloud costs. It combines financial management best practices…

1 month ago

Azure Kubernetes Security Best Practices

Using Kubernetes with Azure combines the power of Kubernetes container orchestration and the cloud capabilities…

2 months ago

Mastering Compliance: The Definitive Guide to Managed Compliance Services

In the intricate landscape of modern business, compliance is both a cornerstone of operational integrity…

2 months ago