Characteristics of a good programming language

It seems to me that a good programming language suitable for non-professional programmers (and perhaps for some professionals too) should include the following characteristics.

The Python language isn't perfect, but it meets most of my requirements. It's designed to be easy to use, and it is.

See also

Programming for the rest of us

The Python programming language