Eiffel was designed in 1985, initially not as a language for the rest of the world, but as an internal tool for a development that Interactive Software Engineering started at that time. In a similar vein, we also looked at Ada, although in this case the ratio of positive to negative influences was higher. Abrial's Z, in whose design I was somewhat involved around 1978-79, and my own M, a successor to Z and to this day an unfinished design. A fundamental property of Eiffel software is that it may be equipped with assertions. Assertions are elements of formal specification that serve to characterize the semantics of classes and their routines independently of their implementation.
Assertions are essential for documenting components.
As a matter of fact, I do not understand how one can talk about the very idea of reusable software components without assertions. Yet of widely available programming languages, only Eiffel has these notions. Beyond their documentation uses, assertions, which optionally may be monitored at run-time, provide a remarkable debugging and testing aid.