Preface
Version 1.0 of the Microsoft Shared Source CLI (still affectionately referred to by many as “Rotor,” its code name) was released to the programming community at large in November of 2002. It is a portable implementation of the programming tools and libraries that make up the ECMA-335 CLI standard, distributed as source code.
The fascination that source code holds for programmers has long been known at Microsoft, yet it remains an unusual way for Redmond to distribute its software. In the case of Rotor, however, the choice was obvious: for experimentation, learning, and as a teaching vehicle, source code has no peer. There is no finer way to learn about any computer standard than to browse and tinker with an implementation directly.
This book is a companion to Rotor’s code. It illustrates the design principles used in the CLI standard, using Rotor’s own implementation of that standard. More broadly, this book is about virtual machines, and the illusions, trapdoors, invisible linkages, and hidden levers from which they are built. Complex software systems, and the ways in which they bridge the abstract world of the programmer with the physical world of a computational model frozen in silicon, are invariably a fascinating topic.
The Rotor Distribution
Over five years ago, I wrote a memo outlining how and why Microsoft should invest in building a companion runtime to its then current Component Object Model (COM). This idea was not new, either inside or outside of Microsoft; ...