Value Sensitive Programming Language Design
A programming language is a user interface. In designing a system’s user interface, it is not controversial to assert that a thoughtful consideration of the system’s users is paramount, indeed consideration of users has been a primary focus of Human-Computer Interaction (HCI) research. General-purpose programming language design has not had much need for disciplined HCI methodology because programming languages have been designed by programming language users themselves. But what happens when programmers design languages for non-programmers? In this paper we claim that the application of a particular design methodology from HCI – Value Sensitive Design – will be valuable in designing languages for non-programmers.
- The Tower