Deutsch: One of the things that I've been thinking about off and on over the last five-plus years is, "Why is programming so hard?"

[...] the world of basically all programming languages that we have is so different in such deep ways from the physical world that our senses and our brains and our society have coevolved to deal with, that it is loony to expect people to do well with it. There has to be something a little wrong with you for you to be a really good programmer. Maybe "wrong with you" is a little too strong, but the qualities that make somebody a well-functioning human being and the qualities that make somebody a real good programmer - they overlap but they don't overlap a whole heck of a lot.

From Coders at Work, Reflections on the Craft of Programming by Peter Seibel.