The
Eiffel programming language is an object-oriented language that is based on a fixed set of powerful principles like Design by Contract and Command-Query Separation. It's a very powerful language that has impacted the evolution of the more popular general
purpose OO languages such as Java and C#. Here, one of the developers of Eiffel,
Emmanuel Stapf, sits down with one of the C# language designers, Mads Torgersen, to discuss the language level code contracts in Eiffel and the general principles of contract oriented programming.