‹Programming› 2018
Mon 9 - Thu 12 April 2018 Nice, France
Wed 11 Apr 2018 14:30 - 15:00 at Baie des Anges A + B - Session 2

Context: Software development tools should work and behave consistently across di erent programming languages, so that developers do not have to familiarize themselves with new tooling for new languages. Also, being able to combine multiple programming languages in a program increases reusability, as developers do not have to recreate software frameworks and libraries in the language they develop in and can reuse existing software instead.

Inquiry: However, developers often have a broad choice of tools, some of which are designed for only one speci c programming language. Various Integrated Development Environments have support for multiple languages, but are usually unable to provide a consistent programming experience due to di erent languagespeci c runtime features. With regard to language integrations, common mechanisms usually use abstraction layers, such as the operating system or a network connection, which are often boundaries for tools and hence negatively a ect the programming experience.

Approach: In this paper, we present a novel approach for tool reuse that aims to improve the experience with regard to working with multiple high-level dynamic, object-oriented programming languages. As part of this, we build a multi-language virtual execution environment and reuse Smalltalk’s live programming tools for other languages.

Knowledge: An important part of our approach is to retro t and align runtime capabilities for di erent languages as it is a requirement for providing consistent tools. Furthermore, it provides convenient means to reuse and even mix software libraries and frameworks written in di erent languages without breaking tool support.

Grounding: The prototype system Squimera is an implementation of our approach and demonstrates that it is possible to reuse both development tools from a live programming system to improve the development experience as well as software artifacts from di erent languages to increase productivity.

Importance: In the domain of polyglot programming systems, most research has focused on the integration of di erent languages and corresponding performance optimizations. Our work, on the other hand, focuses on tooling and the overall programming experience.

Wed 11 Apr

programming-2018-papers
13:45 - 15:00: Research Papers - Session 2 at Baie des Anges A + B
programming-2018-papers13:45 - 14:30
Talk
Didier VernaEPITA / LRDE
Link to publication DOI
programming-2018-papers14:30 - 15:00
Talk
Fabio NiephausHasso Plattner Institute, University of Potsdam, Tim FelgentreffOracle Labs, Potsdam, Tobias PapeHPI, Germany, Robert HirschfeldHPI, University of Potsdam, Marcel TaeumelHasso Plattner Institute
Link to publication DOI

Thu 12 Apr

programming-2018-papers
13:45 - 15:00: Research Papers - Session 5 at Baie des Anges A + B
programming-2018-papers13:45 - 14:30
Talk
Tomas PetricekAlan Turing Institute
Link to publication DOI
programming-2018-papers14:30 - 15:00
Talk
Luca PadovaniUniversity of Turin, Italy
Link to publication DOI