Review: CLR via C#, Second Edition
 
Published: 21 Jul 2006
Unedited - Community Contributed
Abstract
Teemu Keiski reviews CLR via C#, 2nd Edition, a book by Microsoft Press, which is worth its weight in gold.
by Teemu Keiski
Feedback
Average Rating: This article has not yet been rated.
Views (Total / Last 10 Days): 27015/ 58

Overview

Common Language Runtime (CLR) is the workhorse behind .NET Framework and applications running on top of it. Understanding CLR is fundamental to understanding .NET. Very often .NET developers wonder why certain things work in certain way, and they ask why VB.NET or C# works like this, when it's not about the language but about the CLR.

Published recently by Microsoft Press, authored by Jeffrey Richter, CLR via C#, 2nd Edition is the book to cover what CLR is and how it works and what facilities it offers. The book focuses on .NET Framework 2.0 and C# compiler version 8.0 while C# is used as demonstration language.

The book starts with Part 1 which covers basics of the CLR execution model, application building, packaging, deployment, administration and assemblies. Focus is on how .NET Framework is designed, what the terms surrounding .NET Framework mean and defining what it includes when you build and deploy a .NET application.

Part 2 describes the type system and explains the distinction between primitive, reference and value types. Focus is on what types in .NET Framework have as minimum set of behaviors and how do types, objects, thread stacks and managed heap relate to one another.

Part 3 covers the fundamentals behind designing types and members which constitute a type. Type and member basics, constants and fields, methods, properties and events are covered in great detail.

Part 4 covers working with essential types in .NET Framework. These include chars and strings, enumerated types and bit flags, arrays, interfaces, delegates, generics, custom attributes and nullable types. Focus is on what these are from CLR and .NET perspective and how do you get the most out of them.

Part 5 covers CLR facilities such as exceptions, automatic memory management, CLR hosting and AppDomains, assembly loading and reflection, asynchronous operations and thread synchronization. Focus is on describing mechanics behind these CLR facilities and what they do to ease life of a .NET developer.

Pros

Flow of the "story" of the book is excellent. Reader has easy task to learn the relevant things in seamless and well-laid way. Lots of opinions and insights are provided with good reasoning which is important for a developer struggling with design and architecture decisions. Author is realistic about the subject and therefore doesn't fall to write with marketing in mind.

The book covers the CLR in such detail that I haven't seen for a long time. Therefore it's easy to admit that I learnt a lot while it could be said I posses fairly advanced skills in .NET.

Cons

While lots of opinions and insights are given, there are also things mentioned which I might not totally agree with. In other words, some of these insights are also very much matter of preference like in terms of preferring security or performance. At some point it felt that author hasn't been clear enough what is purely his opinion and what would be the objective way to think about the subject. He does provide good argumentation but for a novice developer it might feel like being the only truth. For advanced developers it serves as good way to raise some thoughts, so it can also be seen as a selection of the target audience.

Conclusion

CLR via C#, Second Edition is a must have book for every serious .NET developer. It's definitely worth its weight in gold.

About the book

 

 

Title

CLR via C#, Second Edition

Author

Jeffrey Richter (Wintellect)

Publisher

Microsoft Press

Pages

736

ISBN

0-7356-2163-2

Related URL

http://www.microsoft.com/MSPress/books/6522.asp

List Price

$59.99

Rating

*****

 

 

 



User Comments

No comments posted yet.






Community Advice: ASP | SQL | XML | Regular Expressions | Windows


©Copyright 1998-2021 ASPAlliance.com  |  Page Processed at 2021-12-02 11:34:29 PM  AspAlliance Recent Articles RSS Feed
About ASPAlliance | Newsgroups | Advertise | Authors | Email Lists | Feedback | Link To Us | Privacy | Search