1. What makes a programming language good?