Maintain ability: The quality of a language that eases errors can be
found and corrected and new features added.
Generality: The quality of a language that avoids special cases in the
availability or use of constructs and by combining closely related
constructs into a single more general one.
Uniformity: The quality of a language that similar features should look
similar and behave similar.
Extensibility: The quality of a language that provides some general
mechanism for the user to add new constructs to a language.