Pennies for Understanding
Millions for compilers but hardly a penny for understanding human
programming language use. Now, programming languages are obviously
symmetrical, the computer on one side, the programmer on the
other. In an appropriate science of computer languages, one would
expect that half the effort would be on the computer side,
understanding how to translate the languages into executable form,
and half on the human side, understanding how to design languages
that are easy or productive to use.... The human and computer parts
of programming languages have developed in radical asymmetry.
— Newell and Card, "The Prospects for Psychological Science in Human-Computer Interaction" (1985)