  A description of language design choices that have profound effects on
software quality, criticism of how ordinary OO languages address them, and
explanation of the thinking behind Eiffel's corresponding mechanisms.
