Programming languages are a tool for human thought, expression, and work
yet they are principally designed using mathematical and engineering
techniques. In this talk, I will describe how our group has applied
human-centered design techniques --- interviews, participatory design
exercises, and qualitative analysis of developer forums --- in the design
of three research programming systems (Plaid, Glacier, and Obsidian).
I will speak frankly about the strengths and weaknesses of these approaches
and discuss speculative new techniques.
Joshua Sunshine is a Systems Scientist in the Institute for Software
Research at Carnegie Mellon University. He has broad research interests
at the intersection of programming languages and software engineering.
He is particularly interested in better understanding of the factors
that influence the usability of reusable software components. He
completed his Ph.D. in Software Engineering from Carnegie Mellon in
December 2013. His dissertation focused on the usability of software
libraries with ordering constraints (API protocols). He was advised by
Jonathan Aldrich. He graduated from Brandeis University in 2004 and
worked for almost four years as a software engineer before starting
Refreshments will be served from 14:15
Lecture starts at 14:30