You are here
Towards Designing Usable Languages
Edit, compile . . . edit, compile. This tireless cycle dates back to the 1960s, when the cost of editing and compiling was substantial.
Despite this being a long-standing interaction between human and computer, we have only recently linked the observable behavior of a novice programmer with affective states. That's a fancy way of saying, "We can detect when students are frustrated." Our short-term goal in this study is to support the learner with sensible interventions based on automated observation of their interactions with the compiler and their environment. Longer-term, we hope our work helps provide a human-centered foundation for the design of languages and their environments.
To this end, our language design target is ambitious: parallel languages for robotic control. We've built a small virtual machine to support message-passing parallel languages (the Transterpreter) and have begun exploring its use on small, microcontroller-based mobile robotics platforms. In part, we felt this was good engineering: begin by exploring, understanding, and reusing well-tested and formally verified languages with a rich 20-year history. Also, we thought more people might use our tools if they could play with them on robots made out of shiny yellow plastic. In short, ours is a story about people trying to do some cool stuff at the intersection of usability research and the design and implementation of parallel programming languages.
Open Access Media
USENIX is committed to Open Access to the research presented at our events. Papers and proceedings are freely available to everyone once the event begins. Any video, audio, and/or slides that are posted after the event are also free and open to everyone. Support USENIX and our commitment to Open Access.