Microsoft's Shared Source CLI (code-named "Rotor") is the publicly available implementation of the ECMA Common Language Infrastructure (CLI) and the ECMA C# language specification. Loaded with three million lines of source code, it presents a wealth of programming language technology that targets developers interested in the internal workings of the Microsoft .NET Framework, academics working with advanced compiler technology, and people developing their own CLI implementations. The CLI, at its heart, is an approach to building software that enables code from many independent sources to co-exist and interoperate safely. Shared Source CLI Essentials is a companion guide to Rotor's code. This concise and insightful volume provides a road map for anyone wishing to navigate, understand, or alter the Shared Source CLI code. This book illustrates the design principles used in the CLI standard and discusses the complexities involved when building virtual machines. Included with the book is a CD-ROM that contains all the source code and files. After introducing the CLI, its core concepts, and the Shared Source CLI implementation, Shared Source CLI Essentials covers these topics: The CLI type system Component packaging and assemblies Type loading and JIT Compilation Managed code and the execution engine Garbage collection and memory management The Platform Adaptation Layer (PAL): a portability layer for Win32(R), Mac OS(R) X, and FreeBSD Written by members of the core Microsoft(R) team that designed the .NET Framework, Shared Source CLI Essentials is for anyone who wants a deeper understanding of what goes on under the hood of the .NET runtime and the ECMA CLI. Advanced .NET programmers, researchers, the academic community, and CLI implementers who have asked hard questions about the .NET Framework will find that this behind-the-scenes look at the .NET nucleus provides them with excellent resources from which they can extract answers.
This book is the best and most concentrated source of information I've found for understanding how the .NET CLR is implemented (comparable only to Chris Brumme's blog). Even if you never actually build the SSCLI, this book combined with the SSCLI source code can provide a solid understanding of what's going on behind the scenes in the commercial CLR. I have found this level of understanding to be absolutely necessary in understanding and diagnosing some types of unusual behaviour or performance characteristics of .NET.If you're not using the SSCLI on a UNIX machine and have a solid understanding of the Win32 API, you can probably safely skip the last chapter on the PAL as it is somewhat anti-climatic. However, coming from a UNIX programming background myself, I found it to be of value in solidifying my understanding of Win32 specific functionality (eg. structured exception handling) and how its used by the SSCLI.Obviously this book is a must-read for anyone that is actually experimenting with the SSCLI, but I also consider it essential for anyone that wants to fully understand how the commercial version of .NET works.
better than a five knuckle shuffle
Published by Thriftbooks.com User , 21 years ago
Well, there I was sitting on my bed with my new book. I opened the first page and didn't surface again for 9 days; it's that good i read it cover to cover, twice! I found it not only intellectually exciting, but also quite arousing; the way they talk about managed code gave me a right chubby one!
Magnificent!
Published by Thriftbooks.com User , 22 years ago
As someone who has spent a fair amount of time toying with and writing about managed code I have to say that I am in awe of the wisdom and clarity contained in this book. "SSCLI Essentials" transcends its subject matter (a research platform unlikely to be used much outside of academia) to be one of the best books I've ever read on Virtual Execution concepts. Java, the CLR, Smalltalk, and all other such environments ultimately have to solve the same problem (How to turn source code into executing machine instructions?). This book uses the SSCLI as a backdrop for exploring decades of VM research and explaining the historical forces influencing how and why this particular implementation (and by implication, Microsoft's commercial CLR) works. The resulting volume is concise, fascinating, and thorough. Given the increasing importance of virtual environments in the computing world today I think most all working developers (including Java developers!) owe it to themselves to read this book. Even if you never plan to install or use the SSCLI codebase you'll benefit from Dave and friends' lucid explanation of the issues facing modern VM environments and how one particularly popular platform chooses to solve them.
ThriftBooks sells millions of used books at the lowest everyday prices. We personally assess every book's quality and offer rare, out-of-print treasures. We deliver the joy of reading in recyclable packaging with free standard shipping on US orders over $15. ThriftBooks.com. Read more. Spend less.