The problems the programmer faces

Programmers face very similar problems whatever their application area, problems of learning a notation and of understanding and modifying programs, due largely to the constraints of formal notations. Five aspects of notations and their inter-relationships are examined and we show that the designer of a specific language would ideally know more about real-life programming behaviour than at present. But the problems cannot be removed solely by improved notations. Software tools are needed to support programmers by presenting information about a program clearly and concisely, and determining what information is desirable appears to be a task for cognitive ergonomics.