Ideally, it should be easy to…
…quickly learn a programming language
…quickly express intent and model application domains
…read other people’s code and understand their intent
…debug & reason about correctness,
…reason about performance trade-offs and ensure good performance
…modify and extend programs