Как дизайн .NET 4.0 по контракту сравнивается с Eiffel?

У меня было "удовольствие", чтобы преподавать Эйфелю в колледже не кем бы то ни было, кроме самого Бертран Майера, и просто прочитал, что .NET 4.0 будет включать в себя дизайн по контракту.

Может ли кто-нибудь с пониманием подробно рассказать о том, насколько сильным будет это сравнение с существующим набором функций Eiffel?

Поддерживаются ли контракты для интерфейсов?

Ответ 1

Не имея когда-либо используемого Eiffel, я не могу комментировать сравнение, но я столкнулся с SpeС#, который имеет дизайн по контракту и является тем, что (в основном) свернуто на С# 4.0, и могу сказать следующее:

Это довольно чертовски мощно.

Ответ 2

Он позволяет указать "утверждения времени разработки", и компилятор предупредит вас, что вы можете нарушить ограничение.

Здесь сообщение в блоге, которое объясняет это немного, со ссылкой на подробное объяснение Channel9.