- Series: Developer Reference
- Paperback: 736 pages
- Publisher: Microsoft Press; 2 edition (March 22, 2006)
- Language: English
- ISBN-10: 0735621632
- ISBN-13: 978-0735621633
- Product Dimensions: 7.5 x 1.8 x 9 inches
- Shipping Weight: 3.2 pounds (View shipping rates and policies)
- Average Customer Review: 4.6 out of 5 stars See all reviews (54 customer reviews)
- Amazon Best Sellers Rank: #1,589,573 in Books (See Top 100 in Books)
Enter your mobile number or email address below and we'll send you a link to download the free Kindle App. Then you can start reading Kindle books on your smartphone, tablet, or computer - no Kindle device required.
To get the free app, enter your mobile phone number.
CLR via C#, Second Edition (Developer Reference) 2nd Edition
Use the Amazon App to scan ISBNs and compare prices.
Prepare for your professional certification with study guides and exam prep tools from Wiley. See more
Customers who viewed this item also viewed
What other items do customers buy after viewing this item?
From the Publisher
The author shares insights direct from the Microsoft .NET development team, his own real-world expertise, and hands-on code examples to illustrate how to most effectively use the CLR and the .NET Framework 2.0 for smart client, Web, and mobile applications
Key Book Benefits:
Delivers a thorough grounding in .NET Framework architecture, the runtime environment, and other key topics
Provides extensive code examples in Visual C#
Features authoritative, pragmatic guidance on difficult development concepts such as generics and threading
About the Author
Jeffrey Richter is a cofounder of Wintellect (www.wintellect.com)-a training, debugging, and consulting firm dedicated to helping companies build better software faster. He is the author of the previous editions of this book, Windows via C/C++, and several other Windows-related programming books. Jeffrey has been consulting with the Microsoft .NET Framework team since October 1999.
Browse award-winning titles. See more
If you are a seller for this product, would you like to suggest updates through seller support?
Top Customer Reviews
Most .NET programming books are language centric. The capabilities of the CLR are implied based on the description of the language. Jeffery Richter's book is CLR centric. It describes what the CLR can do and how it does it. C# is used to provide practical examples of how to direct the CLR.
The book clearly and efficiently presents vital information that you'd spends days trying to discover by either pouring over MSDN or writing test applications. Highlights include:
* how source code is converted to IL, stored, managed, and executed
* a description of the code metadata available at run time and how it is used
* how data is classified, organized, and managed
* a description of the members that make up a class (fields, methods, etc.)
* how to handle exceptions
* how garbage collection works
* how reflection works
* how to write multi-threaded applications
Throughout the book there are many warnings about pitfalls and gotchas. The execution efficiency of different approaches is explained for many situations.
I urge any .NET developer who doesn't really understand the CLR to read this book.
I really enjoyed the numerous digressions about reasons why MS engineers designed the CLR and the Framework the way it is. For example you'll find answers to tricky questions such as:
Why the C# compiler uses a callvirt IL instruction (and not a call IL instruction) when calling a non-virtual instance method?
What are the rare cases when you should consider using the Explicit Interface Method Implementation? (EIMI)
How the underlying processor architecture and volatile memory access are related in the CLR sphere?
How .NET framework classes with many events such as System.Windows.Forms.Control are designed to save memory at runtime?
And many many many more.
I also liked the fact that J.Richter is one of the very few who has enough knowledge on the subject to criticize some design choices made by MS. Often some alternatives for future .NET releases are proposed.
Clearly, if you are a beginner this is not the first .NET book you should read. But if your goal is to become a.NET expert, then know that you'll end up by reading this book.
A couple of observations:
1. An experienced developer will benefit more from the content that someone with less experience or someone that is new to .NET. This book covers a lot of fundamentals, but you will learn more if you have time writing code in C#/.NET 2.0.
2. The factual content is quite useful, and most other books don't even come close to this. In addition to the facts, Jeff injects some of his opinion. An experienced developer will recognize these segments as opinion and reconcile that with the realities of their own work environment.
For example, Jeff prefers using the formal CLR syntax for primitive types over the C# shorthand (e.g., "Int32" instead of "int"). This of course is a matter of preference, and will most likely be determined by the coding styles and practices at your workplace.
Jeff also does not like Properties, and wishes that Microsoft had not included them as part of the framework. Again, an experienced developer will probably not read this and immediately stop using properties. It is not inconceivable however, that an inexperienced developer may read it and develop a bias against properties, something that may not be advisable.