There’s a lot of community chatter around Domain Specific Languages (DSLs.) If you’re interested in hearing more, you won’t want to miss this episode as this week on Herding Code the guys interview Larry O’Brien, professional writer and software developer, on Domain Specific Languages, DSL DevCon, Lang.NET Symposium and a number of related talks.
- Larry and K Scott summarize their thoughts on the recent DSL DevCon
- Scott K shares that the hardest part about DSLs is defining what they are and what they aren’t. For example are SQL, CSS or XSLT Domain Specific Languages? Lucky for us, Larry provides a reasonably simple breakdown of Internal and External DSLs and touches upon Functional, Dynamic, Compositional, and Computational DSLs.
- K Scott questions why one might create a DSL and proposes that communication and productivity are primary drivers. Larry concurs and talks about the miscommunication and inefficiencies associated with programmers translating domain expert’s preferred notation or diagrams into code. This sparks a conversation about Microsoft’s claims regarding OSLO’s order of magnitude productivity increases and the premises required for this claim to be achieved.
- Kevin asks if DSLs and the new tools are targeted to replace developers. Don’t worry, you’re safe for now especially since the idea of letting the business people write programs has been failing since COBOL. As Larry explains, it isn’t about putting programmers out of work, it’s all about communication, readability and offering domain experts a way to validate our code.
- Larry explains why writing a language – specifically an external DSL – is hard.
- Jon and Kevin recognize similarities between Domain Specific Languages and Domain Driven Development and Larry speaks to their shared concepts – primarily expressing a domain in code.
- Larry answers listener questions from Shawn Wildermuth and Ben Griswold regarding the difference between an internal and external DSLs and the role of the fluent interfaces and the relationship between functional programming and DSLs, respectively.
- The guys also talk a bit about growing and roasting your own coffee, Hawaii, magazines and how a Mai Tai can disrupt one’s plan to take over the world.
Show Links:
- Larry O’Brien’s blog
- Larry’s recent article in SDTimes
- DSL DevCon
- Lang.NET Symposium
- Chris Sells
- Meta-Introduction to Domain Specific Languages, Martin Fowler
- Using IronPython 2.0 as a script engine in MS Dynamics AX, Roman Ivantsov
- Functional vs Dynamic DSLs: The Smackdown, Ted Neward and Bradford Cross
- Ted Leung’s overview of DSL DevCon
- Intentional Software
- Martin Fowler’s Writings on Language Workbenches
- Intentional Software talk at Qcon
- Intentional Software presentation at DSL Dev Con
- OSLO Developer Center
- Eclipse
- Boo
- Herding Code 42: Scott Bellware on BDD and Lean Development
- Fit and FitNesse
- Tcl (pronounced Tickle) Scripting Language
- Functional Programming
- F#
- LINQ – .NET Language-Integrated Query
- jQuery
Download / Listen:
Herding Code 45: Larry O’Brien on Domain Specific Languages
[audio://herdingcode.com/wp-content/uploads/HerdingCode-0045-Larry-OBrien-on-Domain-Specific-Languages.mp3]Show notes compiled by Ben Griswold. Thanks!