Meyer is the creator of the Eiffel programming language. Most of Eiffel's OOP features were borrowed by other successful OO languages, but I still don't understand why Eiffel never took off.
Language choice is mostly
dependent of social factors that can be summarised as "network
effect". In PLs that manifests itself primarily through a lack of
mature and numerous libraries.
Eiffel had additional technical flaws:
- Subtyping was wrong.
- Handling of concurrency was wrong, in the sense that almost all
concurrency was hidden, instead of exposed. Eiffel was an anti-Erlang in this regard.
- A lot of modern PL features were missing, e.g. pattern matching,
first-class higher-order functions.
- The single most distinctive of Eiffel's features, built-in support
for assertions, was not supported by good-enough tools.
I would argue that the last point is still the case today for all formal verification,
see e.g. Microsoft's Dafny [1]. Automating formal verification so
that normal programmers can use it routinely in mainstream programming is an
unsolved problem in December 2017.
It was initially only available in commercial versions, with enterprise level prices, similarly like Ada.
Think Rational Rose, Together, Enterprise Architect, Visual Studio Ultimate kind of prices.
Eiffel is a great language, proper OOP, value types, generics, contracts, MI, non nullable types, nice IDE, JIT and AOT compilation via native or C/C++ compilers.
But the price made it out of reach for most developers and the open source variants were a poor replication of the whole experience.
Nowdays there is a free license for open source projects, but it is too late for widespread adoption.