Book Written By Don Box, Chris Sells, published
by Addison Wesley
Introduction
The book “Essential .NET, Volume 1, The Common Language
Runtime,” written by Don Box with Chris Sells will take readers on an in-depth
look at the CLR and the inner-workings of the .NET Framework in order to build
better applications through a better understanding of how the CLR works.
Structure
The book’s table of contents is -
1. The CLR as a Better COM
2. Components
3. Type Basics
4. Programming with Type
5. Instances
6. Methods
7. Advanced Methods
8. Domains
9. Security
10. CLR Externals
There is also a list of figures and list of tables in the
book, which was strange to see in a book of this nature (as they are usually
seen in education textbooks and not development books). Just by looking at the
contents, I can see that there may be some critical misses when it comes to
exploring the CLR in depth (as it appears to be focusing on classes and
methods), which is one of the places where the book may fall short.
Intended Audience
I got the feeling straight away that this book was designed
for people with knowledge of COM and how it worked as the first chapter is
almost nothing but COM terminology and a little history lesson (which seems to
be de facto in all .NET books these days).
I was almost instantly blown away by the technical knowledge
and assumptions made by the author. The book got into some deep territory in
Chapter 1 with some detailed explanation of assemblies (perhaps a bit more
than anybody should know).
Writing Style
In the Preface, it is stated that “[his] terse writing style
tends to make a “Don Box book” a challenge to get through” and that
“experience has shown [him] that [he is] horrible at writing tutorials and
primers.” The first few chapters will tell you this very clearly (and I should
thank him for the warning).
The author clearly has the knowledge, but (as I feel
sometimes) has problems telling other people that knowledge. This creates a
writing style that makes the book seem more complicated than it actually is
and takes some getting used to.
Contained Information
I wasn’t too sure what kind of information to receive from
the book. The blurb made it out to be an in-depth look at the CLR, but the
actual contents made it out to be more of a C# programming guide.
That isn’t quite fair though. The book does give insight
into the CLR, but it is more of a programming book. For example, in chapter 5
(Instances), the book goes very deep into reference types and value types and
it goes pretty deep into their workings and examples of their uses.
That’s not to say that the book’s content isn’t great. The
content is very in-depth and really describes the life-cycle and the
integration of the key components of classes and CLR execution.
Educational Content
The book’s content is mixed in educational value. There are
some very insightful looks into the CLR and the .NET Framework in general, but
there are also some very basic examples of class declaration and instancing).
As the book progresses, it looks into some topics that are
more specialized to certain applications (e.g. Security policies and
application domains).
For You?
This book is definitely not a beginner's book and you should
have some knowledge about C# and the .NET Framework’s workings before taking
on this book.
Personally, the book has taught me things about the CLR that
I didn’t know, but it hasn’t really changed the way that I code (apart from
improved my C# skills and taught me more about AppDomains and security).
If you already know a lot about programming over the topics
in the book, then you may not get much out of it as many of the concepts
revolve around actual programming.
Summary
This book was an interesting read because of its look into
the CLR and .NET Framework. Although the content seemed to be
programming-focused (i.e. C#-code and not CLR-inner-workings), it is still a
good and interesting look if you want to know.