Our Motivation for Writing This Book


"Why are we writing a book?" We have asked this question many times over.

In late 1998, Monash University was asked if it would like to become involved with Microsoft in the development of the " next generation of COM," which was then known as the COM Object Runtime (COR). The invitation to join Project 7, the name for this multinational joint collaboration between Microsoft and a number of universities, came from James Plamondon at Microsoft Research. Why was Monash University chosen ? The major reason was because of the association with Bertrand Meyer and his object-oriented programming language Eiffel. Even at this early stage, Microsoft was firmly focused on having the runtime system support as many languages as possible.

Monash University accepted the invitation, and Damien Watkins attended an overview meeting in Atlanta during early 1999. The idea of writing this book was first discussed at that time. Having just seen a preview of COR, which was then known as Lightning, Damien asked James Plamondon whether anyone was writing a book on Lightning. It was clear that a number of books would be required to cover all aspects of Lightning, but Damien wanted to ensure that the small, but hopefully beneficial, involvement of Project 7 members was recorded. With James's encouragement, and after a few years and numerous changes, this book emerged. The appendices in this book are a concrete acknowledgment of the work done by many people outside of Microsoft on Project 7.

Mark Hammond has been involved in Python development since 1991, developing and maintaining the Win32 extensions for Python, which includes the PythonWin IDE and the support libraries for COM. Mark had worked with Microsoft since the mid-1990s on Python- related projects, most notably the ActiveScripting and ActiveDebugging extensions for the Python language. In 2000, Mark released his first book, Python Programming on Win32 , co- authored with Andy Robinson.

In 1998, recognizing the increasing popularity of the Python programming language, the Project 7 team decided that Python should be one of the initial languages ported to the platform. Mark's history with Microsoft made him the obvious choice for spearheading this effort. His residency in Melbourne, Australia, near Melbourne University and Monash University, meant that a core group of Project 7 participants formed almost exactly on the other side of the world from Seattle. That was how Damien and Mark met.

Brad Abrams was fortunate to be present for the birth of the Common Language Runtime (CLR), cutting his teeth in application programming interface (API) design and working on fundamental types such as System.Object and System.String . He participated in the earliest design decisions, which would later infiltrate the breadth of the .NET Framework and, in fact, all .NET code. Brad was very enthusiastic about the cross-language support being built into the runtime system while he led the team that developed the Common Language Specification (CLS).

Early in 1998, Adam Smith, a developer from another team, asked an interesting question: If he exposed properties from his library, could Visual Basic (and other languages) consume his API? Brad did what any respectable program manager at Microsoft would do ”he called a one- hour meeting to decide which features of the CLR would be available in all languages. That meeting didn't resolve the issue. In fact, answering the question took more than three years and thousands of hours from key architects inside Microsoft, including Anders Hejlsberg, Peter Kukol, Paul Vick, Alan Carter, Scott Wiltamuth, George Bosworth, Lauren Feaux, Ian Ellison-Taylor, Herman Venter, Jonathan Caves, Francis Hogle, Mark Hall, Daryl Olander, Craig Symonds, and Brian Harry. Later, Brad reviewed and honed the CLS with a group of key language innovators outside Microsoft, the Project 7 members. It was through this effort that Brad met Damien and Mark.

As a by-product of working out what was to be included in the CLS, many "best practices" were developed. Brad started writing these best practices down in what would later become the .NET Framework Design Guidelines document. This document led the way in the drive for consistency and usability across the APIs exposed in the .NET Framework. The work on the CLS and the Design Guidelines document put Brad into a unifying role as Microsoft took disparate internal groups and formed the .NET Framework team. Through this effort, Brad gained an appreciation for the value of the different parts of the .NET Framework as well as the need for consistent usage of concepts across them.

In addition to his day job, Brad joined a very small team charged with creating the CLI and C# language standards, first through the European Computer Manufacturers Association (ECMA) and then through the International Standards Organization (ISO). Once again, the CLS and Design Guidelines received a careful review and fine-tuning from this group; with great help from Jim Miller, they were published as part of the international CLI standard. Brad loves to talk about the .NET Framework and the way it simplifies the lives of developers, so agreeing to do this book was a no-brainer for him!

For us, the major satisfaction gained from working on Project 7, as with all experiences in life, has come not from developing a technology but rather from working with such a large, diverse, and talented group of developers from all over the world.

One final word about the book's title, which pays homage to the truly excellent book Advanced Programming in the UNIX Environment , by W. Richard Stevens (Addison-Wesley, 1992). Rich's book is amazing, and he will be sadly missed.



Programming in the .NET Environment
Programming in the .NET Environment
ISBN: 0201770180
EAN: 2147483647
Year: 2002
Pages: 146

flylib.com © 2008-2017.
If you may any questions please contact us: flylib@qtcs.net