From programming environments to environments for designing
Terry Winograd · Communications of the ACM · 1995
Though there have been advances in end-user programming, complex applications still need professional developers. This inspired look at the future of creating complex software explores the shift from programming environments to design environments, discussing environments that help developers satisfy end-users' cognitive needs and help deal with contextual issues such as the aesthetic, practical, and social properties of the application and the users. A strong case is made that design environments will need to provide robust support for communication between developers and end users.