Number 5
The properties that programming languages can ensure are distant from the properties we require software systems to have
- Programming languages can help a lot, but they can't solve the "software engineering" problem
- Ex: Contravariant type checking (such as in ML) has significant benefits, but regardless, it doesn’t eliminate all errors in ML programs
- And covariant typing, with its flaws, may be useful in some situations