DSL classification: a quick Domain Specific Language dictionary

I wrote a post some time ago on the classification of DSLs, that presented some dimensions of DSLs:Focus of a DSL (vertical vs. horizontal)Style of a DSL (declarative vs. imperative)Notation of a DSL (graphical or textual)But today (triggered by the discussions at Code Generation) I realized I overlooked a few obvious classification dimensions that are … Continue reading DSL classification: a quick Domain Specific Language dictionary

Highlights from LWC 2011: Language Workbench Competition 2011 (co-located with Code Generation 2011)

Language Workbenches, as defined originally by Martin Fowler, are tools aiming to cope with DSL creation and code generation to increase the level of abstraction of software development [credit to Pedro J. Molina for the reference].The Language Workbench Competition at Code Generation 2011 aimed at gathering and comparing the features of different workbenches available today, through … Continue reading Highlights from LWC 2011: Language Workbench Competition 2011 (co-located with Code Generation 2011)

Building DSLs: who, how and when

Due to a recent discussion I had to spend some time thinking on who should build a DSL (Domain Specific Language) and why, as opposed to who should use it.Let's start from some basic assumptions:Good abstractions must be intuitive and make life easier, not harder. DSLs are a must-have for most application scenarios (I'm not … Continue reading Building DSLs: who, how and when

Some thoughts on DSLs (Domain Specific Languages)

Domain-Specific Languages (DSLs) are design and/or development languages that are designed to address the needs of a specific application domain. DSLs are particularly useful because they are tailored to the requirements of the domain, both in terms of semantics and expressive power (and thus do not enforce end users to study more comprehensive general-purpose languages) … Continue reading Some thoughts on DSLs (Domain Specific Languages)