David Ungar: Seven Paradoxes of Object-Oriented Programming Languages
c2.com
c2.com
> A language designed to give programmers what they want may initially succeed but create pernicious problems as it catches on
A language needs to give programmers what they want or they won't write in it. Bad or good (from a pernicious problem perspective) is irrelevant. You will only see finished software from what programmers want to use. The elephant in the room about failed projects is that we have little science on proper software project management (still), not failures in language: http://blog.bitovi.com/real-reasons-projects-fail/
> Adding a richer set of concepts to a programming language impoverishes its universe of discourse.
Adding different WAYS to express concepts does this, not offering abilities. See previous issue. Programmers want ways to do things and will choose languages that have those (or will fork and create something similar that does, see Ponylang, Rust, etc).