Charles

Jeffrey Snover, Martin Fowler and Neil Ford: Domain Specific Languages

Download this episode

Download Video

Description

JAOO 2008 coverage continues with a discussion covering domain specific languages with the great Martin Fowler, Chief Scientist at ThoughtWorksNeil Ford, Architect and Meme Wrangler at ThoughWorks and PowerShell creator Jeffery Snover, Partner Architect at Microsoft. Martin is a world leader in the design and implementation of DSLs, which are highly specilaized languages aimed at solving particular sets of problems (unlike general purpose programming languages which are, well, general purpose in nature). PowerShell is a DSL. Or is it? Tune in.

Enjoy!

Embed

Format

Available formats for this video:

Actual format may change based on video formats available and browser capability.

    The Discussion

    • staceyw
      LINQ is then a "super" DSL and interesting in this space. It is general, but at the same time can be used cleanly over specific domains such as objects, xml, data, or concurrency or others. Yet, you don't have to learn a whole new DSL for each.  You just use specific extention points for the domain at hand. At the same time, it is general enouph to wrap itself nicely over other domains without injecting yet another language.  I like the idea of being able to plug-in other dsls or scripts inside my language to abstract some subset of a framework to make it easier to write and read.  Say the new framework is Mesh for example.  Maybe a dsl could be surfaced that would make it easier to use the broad api inside my language (c#).  Maybe it is linq, maybe something else.  I do know at times it would be great to be able to embed some Powershell into my c# code (or visa-versa) in an easy way.
    • Minh
      Is there anything like the Dynamic Runtime, but for DSL? That would let us slap together our own DSLs quickly w/out worrying about the plumbing.

    Comments closed

    Comments have been closed since this content was published more than 30 days ago, but if you'd like to continue the conversation, please create a new thread in our Forums, or Contact Us and let us know.