A compiler writer's guide to C#

Mark Shields. Lecture notes. May 2002. [slides pdf]

Abstract

When Sun sued Microsoft in 1997 for violating the terms of their Java license, Microsoft responded by jettisoning Java altogether in preference for a new in-house designed language, C#. Its design is mostly the work of Anders Hejlsberg, and contains a mix of C++, Java, and Delphi constructs. Many aspects of the design are motivated by particular programming scenarios (eg GUIs) or efficiency concerns (eg direct method dispatch, direct pointer arithmetic).

I'll give an overview of C# from the point of view of a compiler writer. The hope is that, after attending the lectures, a well-motivated postgrad could jump straight into implementing a compiler without having to spend a few weeks struggling with the somewhat verbose language specification.