Doug Reilly's Weblog

Embedded Reporting of the Information Age...

Review of .NET Framework Standard Library Annotated Reference

While flying cross country heading to the Microsoft Mobile DevCon Monday I had the opportunity to finish reading through the .NET Framework Standard Library Annotated Reference.  Most folks will likely buy a copy of the Annotated Reference for themselves or their team and leave it on the shelf referring to it when needed.  This is probably an OK use of this book, but better is to actually look through the book's reference pages.  Generally the actual reference material is not significantly different than what you could find online at MSDN, however the annotations add value that places this book ahead of your average reference. 

The folks annotating the standard library are the folks involved with creating and standardizing the library.  They include Brad Adams, Anders Hejlsberg, Brial Grunkemeyer, Joel Marcey, Kit George, Krzysztof Cwalina and  Jeffery Richter.  Ever wonder why the Exception parameter to the Constructor for an InvalidProgramException is called inner rather than innerException (which is tthe name in virtually all other exceptions)?  Just a mistake.  Why is Cancel not present in the IAsynchResult interface?  Not all operations can reliably be cancelled, and it is bad interface design to have an interface that some classes that need to implement the interface cannot support.  Even inconsistencies (like the fact that Reset is a member of IEnumerator, allowing a class to throw a NotSupportedException if the class cannot support Reset).

Wart and all, the information in the annotations are clearly the best part of the book.  Highly recommended.

UPDATE: The book is even more useful than I originally thought.  I was making a post in my other blog here, and I needed to find where a particular example was in the book.  The index did not help me, but the CD included that has the entire book fully searchable did.  Load this one up on your PC, and you will reference it more than you can imagine.

Comments

Brad Abrams said:

Glad you liked it -- We really did want to provide a transperent view of how the BCL design team *really* thinks about the what we built.
# March 23, 2004 2:08 PM

Doug Reilly said:

I really did enjoy. Unlike the C# reference, what had limited additions to what was in the docs proper, I think you and the other folks really did add value with the annotations. Certainly something to read through, not just to use as a reference!
# March 23, 2004 2:15 PM

Brian Grunkemeyer said:

Thanks for the positive review. Perhaps we'll have more of an opportunity to document our mistakes in the future, or even show off some of the more obscure things we've done in our code sometime in the future. But I'm glad you got some value out of the book.
# March 23, 2004 3:58 PM

TrackBack said:

# March 24, 2004 3:59 AM
Leave a Comment

(required) 

(required) 

(optional)

(required)