CLR via C#, Second Edition 2nd ed. Edition
|
Jeffrey Richter
(Author)
Find all the books, read about the author, and more.
See search results for this author
|
Use the Amazon App to scan ISBNs and compare prices.
Customers who viewed this item also viewed
Editorial Reviews
From the Publisher
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.
Product details
- Publisher : Microsoft Press; 2nd ed. edition (March 22, 2006)
- Language : English
- Paperback : 736 pages
- ISBN-10 : 0735621632
- ISBN-13 : 978-0735621633
- Item Weight : 2.2 pounds
- Dimensions : 7.5 x 1.75 x 9 inches
-
Best Sellers Rank:
#3,628,749 in Books (See Top 100 in Books)
- #1,076 in C# Programming (Books)
- #1,255 in Microsoft .NET
- #6,941 in Software Development (Books)
- Customer Reviews:
I'd like to read this book on Kindle
Don't have a Kindle? Get your Kindle here, or download a FREE Kindle Reading App.
About the author

Jeffrey Richter is a Software Architect on Microsoft’s Azure team. He produced a video series on Architecting Distributed Cloud Applications available (for free) on YouTube at http://aka.ms/RichterCloudApps. He is also a co-founder of Wintellect, a software consulting and training company where he has authored many videos available on http://WintellectNOW.com.
Jeffrey has spoken at many industry conferences, and is the author of several best-selling Windows and .NET Framework programming books and has also been a contributing editor to MSDN Magazine where he authored many feature articles and columns.
Customer reviews
Top reviews from the United States
There was a problem filtering reviews right now. Please try again later.
That is, if one thinks of IL or metadata tables as central to CLR and hopes to be tearing down C# compiled code to explore these, forget it. If, on the other hand, one is thinking about garbage collection, threading, and exception handling, and how the context of the CLR affects program performance, then definitely this text comes through on the title's promise...especially garbage collection. Wow.
To smooth over this dichotomy better, let me give the example of exception handling. Here Richter is very specific about details of CLS (the common language specification) vs. C#, and very specific about throw alone vs. throw with the exception object, etc. But there is no discussion of the IL generalized concept of exception blocks or how IL frames blocks. Stack unwinding is mentioned at a level fairly normal for high-level language texts, but there really isn't anything about how the CLR builds or unwinds frames. (I'm still looking for that book!)
Read this book with Lidin's IL Assembler, and then you have a fantastic triangulation on the theme of the CLR.
Or, if you want to understand garbage collection, read Richter. Wow!
In this 648 page journey through the CLR, Mr. Richter covers such subjects as how code is converted from high level C# to MSIL, Types, Generics, Events, and Asynchronous programming, to name just a few. The book assumes some level of knowledge not just of C# but of programming in general. The author does assume that you, as the reader, are familiar with some common data structures and programming best practices. Mr. Richter also interjects his own opinion at various times on why certain features work the way they do, or how they would/should work were he in charge of creating the CLR.
If you are already a competent C# or VB.Net developer who is ready to take your development skills to the next level, I highly recommend this book. At 648 pages long, it may take some time to get through, but I can guarantee it will be time well spent.
This was recommended reading that I did before beginning a dev job out of school since I had worked almost exclusively in a *nix environment, but would have to at least be able to read (and eventually write a bit of) managed code for the Windows CLR. It is a thorough introduction to the necessities of CLR coding and gives very useful analogies/similarities with other languages that I found quite useful (especially C++).
Without this, I would have spent a LOT of time on my own writing various test programs and not fully understanding what was going on under the covers. There is also quite a bit of code samples showing the IL generated for the runtime that is quite useful.
Other reviews cover the topics etc., and all I'll say about them is that they are all applicable and clearly written.
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.
Top reviews from other countries
First things first. This is not a book for the novice. While some of the initial chapters explain basic details of .NET and the CLR (being experienced, you can safely peruse past them quickly), most of the chapters explore the different topics in a clear, concise and, at the same time, deep enough way. The chapter on CLR Hosting is a good example of this. This chapter, as a representative sample of the rest of the book, delivers some deep geek CLR knowledge that most average developers are not aware of at all, with a highly praisable clearness and quality.
Mr. Ritcher manages to make you understand the topics, provides useful examples and, to sum it up, thus makes of his book a very good guideline repository to be kept at hand when developing. Keep in mind, though, this is not a reference book that explains all .net namespaces or anything like that. It is, however, a reference book on some topics, a few of them quite advanced, that any serious developer should review from time to time.
Richter and Petzold are the best!!! ;-)
This is a great thing for more experienced developers. Highlights include the (outstanding) chapter on exceptions, explict interface method implementations and threading.
Best of all, despite this being a Microsoft Press book, he's not afraid to say that Microsoft was wrong. EIMIs, for instance, have several issues which he discusses in depth. Likewise the approach to exception handling preferred by FxCop isn't quite the same as the one he prefers.
Now that .NET 3.5 / Visual Studio 2008 is on the horizon, I'd like to see edition 3: I'd be willing to bet that there's subtleties in LINQ and some of the other new C# syntaxes that need his clarity. A supplement might be best, though, as I'd not want to see any material removed from this outstanding book.
This is an invaluable reference for developers.




