The minimum infrastructure for running languages and modelsIn my last post I wrote about what constitutes a language, and what you might want to call the data structures that don’t. In this one I…Jun 24, 2022Jun 24, 2022
When is something a (domain-specific) language?Customers often ask me: what is a DSL? How is a language different from … and then they mention all kinds of other terms. This is a great…Jun 18, 2022A response icon1Jun 18, 2022A response icon1
Thinking vs. CodingWhen I was growing up as a programmer, it was the time of object-oriented-everything. You were first supposed to do object-oriented…Jun 5, 2022A response icon1Jun 5, 2022A response icon1
Why documents shouldn’t be the basis of a domain analysisDSL design requires that you first understand the domain for which you want to build the language, so the analysis of how stuff works is a…Apr 22, 2022Apr 22, 2022
Why it is so hard to change established processes in organizationsOr why so many DSL projects fail for non-technical reasonsNov 16, 2021Nov 16, 2021
The split brain of DSLsWhy it isn’t enough for a DSL to just capture the domain.Oct 27, 2021Oct 27, 2021
The Language Testing TriangleI often get the question: how do you test a language — or more specifically, a language implementation in a tool like MPS or Xtext. That’s…Sep 21, 2021A response icon1Sep 21, 2021A response icon1
Tool Lock-in vs. Semantic Lock-inThere’s a lot of discussion about lock-in relative to vendors and tools. I am confronted with these discussions in the context of…Sep 10, 2021A response icon4Sep 10, 2021A response icon4
Why does everybody hate programming (and why this must change)?DSLs and Subject Matter ExpertsAug 29, 2021A response icon3Aug 29, 2021A response icon3