Toward a Theory of Programming Language and Reasoning Assistant Design: Minimizing Cognitive Load
This addresses the challenge of improving usability and reducing development costs for programming tools, though it is incremental as it builds on existing cognitive science theories.
The paper tackles the problem of designing more effective programming languages and reasoning assistants by advocating for the use of cognitive load theory from cognitive science, aiming to establish general design principles rather than relying solely on user feedback or specific techniques.
Current approaches to making programming languages and reasoning assistants more effective for people focus on leveraging feedback from users and on evaluating the success of particular techniques. These approaches, although helpful, may not result in systems that are as usable as possible, and may not lead to general design principles. This paper advocates for leveraging theories from cognitive science, focusing on cognitive load theory, to design more effective programming languages and reasoning assistants. Development of these theories may enable designers to create more effective programming languages and reasoning assistants at lower cost.