Sebastopol, CA--Any poker player knows that you hold your cards close if you're playing to win. But a good poker player understands that sometimes you need to show your hand a little just to keep the other players interested. With Shared Source CLI (Common Language Interface), Microsoft, which has traditionally kept close control of its source code, acknowledges that to whet the appetites of developers, one needs to let them dig into the source code itself. Originally drawn from the same codebase used to build the commercial .NET Framework--with some of the subsystems swapped out and parts of the commercial product removed--Shared Source CLI, nicknamed Rotor, gives developers access to the complexity of an abridged and transformed version of the larger work.
Shared Source CLI Essentials, by David Stutz, Ted Neward, and Geoff Shilling (O'Reilly, US $34.95), examines the new code in detail. "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," says coauthor Stutz. "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."
Stutz was Microsoft's Shared Source evangelist who had a rather public departure in February when he warned in his widely distributed memo that the giant software company would prosper only if it borrowed from and improved on the open source software movement. Stutz wrote: "Open source software is as large and powerful a wave as the Internet was, and is rapidly accreting into a legitimate alternative to Windows. It can and should be harnessed."
"Shared Source CLI Essentials" provides a roadmap for anyone who wants to learn the details of the .NET Common Language Runtime: for researchers interested in virtual machines; for academics who want to provide students with a test bed of managed execution and its capabilities; for programmers already moving to the .NET Framework but with little or no familiarity with managed environments, and for those using Rotor as a baseline to bring CLI to other platforms.
"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, Mac OS X, and FreeBSD
The book comes with a companion CD-ROM that contains all the source code and files.
"If you live and breathe for virtual machine specifications such as the Java Virtual Machine, or the Smalltalk 'blue book,' this book is definitely for you," says Stutz. "If you have implemented a Scheme or Forth compiler just for the heck of it, this book is for you. If you find yourself defending a favorite 'misunderstood' programming language from Philistines who don't properly understand its boutique feature set or the intrinsic value of its totally hackable runtime and compiler, then this book is for you."
Chapter 1, Introducing the CLI Component Model, is available free online
For over 40 years, O’Reilly has provided technology and business training, knowledge, and insight to help companies succeed. Our unique network of experts and innovators share their knowledge and expertise through the company’s SaaS-based training and learning platform. O’Reilly delivers highly topical and comprehensive technology and business learning solutions to millions of users across enterprise, consumer, and university channels. For more information, visit www.oreilly.com.