All software that is successful for an extended period will eventually become legacy software. This brings significant challenges, as it makes it harder to find developers, and evolving the system becomes more and more expensive.
Eventually, the software has to be migrated, preserving all the knowledge accumulated in it over the years.
In this presentation, we will look at why companies may want to automatically translate their code to a more modern language. We will see what the challenges are and how they can be tackled.
In particular, we will look at what architecture one could use to build transpilers to work in practice and which open-source components can be adopted to build transpilers in Java, Kotlin, Python, and Typescript.
There will be a demo to show a simple transpiler running.
Federico Tomassetti is a Language Architect at Strumenta, a boutique consulting studio he co-founded. In his role at Strumenta, Federico is involved in different Language Engineering projects, ranging from the definition of Domain Specific Languages for different domains to the design of transpilers, editors, and interpreters. He got his Ph.D. in Language Engineering between Italy and Germany. He regularly speaks at conferences and organizes the Strumenta Community to hold discussions around Language Engineering