Tutorial on the Methodology of Programming SystemsMOPS 2022
There is a whole world of interesting programming ideas if we look beyond the narrow focus on programming languages. Image-based systems like Smalltalk, no-code and low-code tools, live coding, visual programming and even spreadsheets are interesting not as programming languages, but as programming systems.
Unfortunately, doing research on programming system is hard. Computer scientists developed a rich repertoire of methodologies for studying programming languages. We can study their syntax, semantics, pragmatics or typing discipline. But no such repertoire exists for programming systems, which hinders our ability to compare different programming systems, identify novel characteristics of systems and advance the state of the art by building on the shoulders of giants.
The organizers of the tutorial recently developed the “Technical Dimensions” framework for studying programming systems . The framework identifies a number of technical dimensions (such as self-sufficiency, notational structure, composability or conceptual integrity, etc.) that can be used to structure discussion about programming systems and identify their important aspects and capture differences and commonalities between programming systems.
Let’s work together to develop a methodology for a more structured rigorous discussion about programming systems.
The tutorial is open to all attendees of ‹Programming› who are interested in studying programming systems. We want to work with the attendees on developing a methodology for programming systems research. As part of the tutorial we will:
- Discuss the difficulties in conducting research on programming systems
- Use the technical dimensions framework to analyse interesting programming systems developed by the attendees
- See whether this reveals any new insights about programming systems
- Discuss the next steps and alternative approaches for studying programming systems
If possible, the tutorial will be held in person or in a hybrid format, but we are still discussing the best format for the tutorial. If you find the above interesting, please let us know by filling out an informal pre-registration survey so that we know how to best run the event.
Fri 25 MarDisplayed time zone: Lisbon change
09:00 - 10:00
|The problem of programming systems research methodologies|
|What are programming systems & how do you study them?|
Tomas Petricek University of Kent
10:30 - 12:00
Technical dimensions of programming systemsMOPS at OpenSpace
We will present our work on developing the “technical dimensions” framework, which aims to provide useful strucutre for evaluation of programming systems. After an introduction to the framework, we’ll work together to see how it applies to interesting current programming systems (ideally developed by tutorial participants!)
|Introduction to the technical dimensions framework|
Joel Jakubovic University of Kent
|Analysing programming systems using technical dimensions|
13:30 - 15:00
Future of programming systems researchMOPS at OpenSpace
What does the future of research on programming systems look like? Is there more to be added to the technical dimensions framework? Are there alternative approaches to the problem that motivated this tutorial? What would be the best next steps for the “programming systems” research community and our research?
|Future of technical dimensions & what is missing|
|Next steps for programming systems research|