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.