Published Sep 3, 2019

Episode 119: DSLs in Practice with JP Tolvanen

Explore how Domain-Specific Languages (DSLs) revolutionize software development with insights from expert Juha-Pekka Tolvanen, discussing code generation, model transformations, and real-world applications across industries like mobile apps and insurance.
Episode Highlights
Software Engineering Radio - the podcast for professional software developers logo

Popular Clips

Episode Highlights

  • Language Evolution

    In the realm of Domain-Specific Languages (DSLs), evolving languages over time presents unique challenges. emphasizes the importance of maintaining compatibility and minimizing disruption during updates. He explains that the metamodel, or language definition, is treated as data, allowing existing tools to adapt to changes without breaking existing models. This approach ensures that developers can modify the metamodel safely, knowing that their models will remain intact 1. notes, "You can change the meta model, whatever you like. The tool will know what kind of changes you can do and you can't break others' models."

    You can change the meta model, whatever you like. The tool will know what kind of changes you can do and you can't break others' models.

    ---

    This strategy contrasts with traditional methods, where changes to the metamodel could render models unusable, highlighting the need for a streamlined process in industrial applications 2.

       

    Graphical vs Textual

    Choosing between graphical and textual syntax for DSLs depends on the context and user needs. shares insights from the insurance industry, where graphical languages are used to define financial products, enabling domain experts to specify complex rules without needing technical expertise 3. This approach empowers structured thinkers, like insurance experts, to engage with DSLs effectively. adds that this method is not limited to technical users, stating, "This is really used by domain experts."

    This is really used by domain experts.

    ---

    The discussion highlights the flexibility of DSLs in accommodating various user profiles and the importance of tailoring language design to fit specific industry requirements 4.

Related Episodes