Hints on programming language design (C.A.R Hoare)
eecs.berkeley.edu
eecs.berkeley.edu
It would seem to me that if his hints and assumptions are correct that language designers may have inhibited the growth of programming; though a programmer that knows her/his language of choice can and does take advantage of all of the inefficiencies described in this paper.
I'm really beginning to realize that the functional languages probably have it right: single value assignment; recursive function execution; compact, readable code; monads; guards; readable case statements; and narrow interfaces seem to satisfy a lot of what he recommends. Most OO languages definitely do not, although I love the expressiveness I have learned to achieve by exploiting their nuances.