The notion of polyglot software development refers to the fact that most software projects nowadays rely on multiple languages to deal with widely different concerns, from core business concerns to user interface, security, and deployment concerns among many others. Many different wordings around this notion have been proposed in the literature, with little understanding of their differences. In this article, we propose a concise and unambiguous definition of polyglot software development including a conceptual model and its illustration on a well-known, open-source project. We further characterize the techniques used for the specification and operationalization of polyglot software development with a feature model, concentrating on polyglot programming. We conclude the article outlining the many challenges and perspectives raised by polyglot software development.

, , , , , ,
IEEE Software
Software Analysis and Transformation

Mussbacher, G., Combemale, B., Kienzle, J., Burgueno, L., Garcia-Dominguez, A., Jézéquel, J.-M., … van der Storm, T. (2024). Polyglot Software Development: Wait, What?. IEEE Software. doi:10.1109/MS.2023.3347875