Episode 119: DSLs in Practice with JP Tolvanen

Topics covered
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


Episode 182: Domain-Specific Languages with Martin Fowler and Rebecca Parsons
Answers 383 questions

Episode 52: DSL Development in Ruby
Answers 383 questions

Episode 200: Markus Völter on Language Design and Domain Specific Languages
Answers 383 questions

Episode 126: Jetbrains MPS with Konstantin Solomatov
Answers 383 questions

Episode 57: Compile-Time Metaprogramming
Answers 383 questions

Episode 140: Newspeak and Pluggable Types with Gilad Bracha
Answers 383 questions

Episode 86: Interview Dave Thomas
Answers 383 questions

Episode 28: Type Systems
Answers 383 questions

Episode 155: Johannes Link & Lasse Koskela on TDD
Answers 383 questions
Episode 173: Feature-Oriented Software Development with Sven Apel – Pt 2
Answers 383 questions

Episode 36: Interview Guy Steele
Answers 383 questions

Episode 171: Scala Update with Martin Odersky
Answers 383 questions

Episode 6: Model-Driven Software Development Pt. 2
Answers 383 questions

Episode 5: Model-Driven Software Development Pt. 1
Answers 383 questions

Episode 120: OCL with Anneke Kleppe
Answers 383 questions













