What best defines a “programming language”?