Nowadays each project is realised using a plethora of languages. Think about some classical scenarios:
- A web application: Css, Javascript, Html and a general purpose language for server side elaborations (for example Java)
- A Java framework using XML for configuration
- SQL snippets embedded in a general purpose language
In this scenarios different languages have to interact. The problem is that normally development tools are able to verify just intra-language consistency: it means that an IDE is able to understand if in your java code you are referring to a Java class that does not exist (maybe because you misspelled the name). IDEs are not able to verify inter-language consistency, so for example it does not know if the XML configuration file contains the name of an existing Java class or not. This is a problem of language integration.
I think language workbenches permit to improve a lot language integration, with a limited effort.
Still there is a lot to be done.
Me, Antonio Vetrò, Marco Torchiano, Markus Völter and Bernd Kolb got a paper accepted at MiSE@ICSE’13 about this topic. In the paper we:
- discuss about the problem of language integration in different scenarios,
- refer to some previous work (from me, Vetrò and Torchiano) which starts an empirical evaluation of the issue,
- present a prototypal micro-implementation of a solution using Jetbrains MPS,
- present a research agenda for language integration.
Screenshots and more details are on the paper (available as PDF).