Past and Future

Two articles I read over the weekend neatly encapsulate the past and future of software engineering research (at least, the kind of SE research that I'm interested in). The first is Jason McC. Smith's "The Pattern Instance Notation: A simple hierarchical visual notation for the dynamic visualization and comprehension of software patterns" (Journal of Visual Languages and Computing, 22 (2011), pp. 355-374, DOI:10.1016/j.jvic.2011.03.003), which describes a nested-box notation for representing design patterns graphically. The second is "A decade of research and development on program animation: the Jeliot experience" by seven scientists from the Weizmann Institute and the University of Eastern Finland (same journal and volume, pp. 375-384, DOI:10.1016/j.jvic.2011.04.004), which sums up ten years of empirical studies of three successive program animation tools. Both papers are about helping people understand programs through pictures, but there's one key difference. While the first paper is long on semantics and examples, it doesn't say anything about usability: its author claims that PIN is easy to understand (or at least, easier than alternatives like pure UML), but the same claims are made daily by the creators of every other programming system or notation out there. The second paper, in contrast, is all about such studies. Do novices learn better, or faster, if program execution is animated? Do such animations help experienced programmers as well? Do the two groups benefit from the same kinds of animations equally, or are their needs different enough to merit different approaches? And at a higher level, how should we go about trying to answer these questions, and how have the answers we've found so far affected the design of our tools? Its claims might be more cautious than those of the PIN paper, but they're grounded in careful studies of real users in the real world. My 21-year-old self might have preferred the simplicity of the former, but today, having seen a dozen bandwagons roll by, I realize that the caution and seasoned subtlety of the latter is what real progress actually looks like.+