Through my research in HCI and software engineering tools, I typically make the annual rounds in conferences such as ICSE, FSE, and VL/HCC. Thus, having the opportunity to attend ECOOP 2016 was definitely outside of my comfort area, but it was worthwhile in that it provided me with exposure to an otherwise enigmatic area of Computer Science.
As a first-timer to ECOOP, I expected all of the conference to basically be about programming language (PL) theory (or as we call it in HCI, the land of Greek letters). I was surprised, however, to find workshops on the usability aspects of programming languages. I attended two such workshops:
- LIVE, a workshop on live programming systems that “abandon the traditional edit-compile-run cycle in favor of fluid user experiences.”
- Grace, a workshop on the emerging Grace programming language. Originating at ECOOP in 2010, the Grace programming language is designed to allow novices to discover object-oriented programming in simpler ways.
To gain exposure to new ideas, I also attended ICOOOLPS, a workshop on compiler optimization and performance for object-oriented programming.
Although my own research community and ECOOP have relatively little intersection, through these smaller workshops I quickly met new colleagues, including James Noble, Michael Kölling, and my own PhD advisor’s advisor, Andrew Black.
An aspect of ECOOP that I particularly appreciated was the morning breakfast sessions, where students like myself were paired with faculty members to learn more about ECOOP research. I took full advantage of these sessions and introduced myself to a new faculty member each day for breakfast: Matthias Felleisen, Tobias Wrigstad, Laurence Tratt, and Jan Vitek.
Another highlight of the conference was the ECOOP Summer School. The lecturers for these talks made a significant effort to provide a gentle introduction to programming language theory and to explain the types of problems researchers in PL study. One of the more memorable lectures was a hands-on session by Laurence Tratt and Carl Friedrich Bolz, where we worked on our laptops to implement a JIT in Python.
Thanks again to the NSF for providing this amazing opportunity.