In this article Vaughn Vernon explains the difference between internal and external DSLs and shows the steps involved in developing a complex external DSL.
MountainWest RubyConf took place from 13-14 March in Salt Lake City. All talks are available from Confreaks; we picked some interesting ones – Rails 3 and Merb, DSL design, usability on Rails, Vertebra – and give a coarse summary and some pointers into the talks.
In this presentation recoded during QCon London 2008, Magnus Christerson discusses about the importance of using DSLs which allow business experts to freely express their knowledge about their domain using familiar tools. Henk Kolk presents a concrete example addressing pension fund issues and based on a DSL.
This article introduces RGen, a modeling framework inspired by openArchitectureWare and technologies like the Eclipse's EMF. RGen uses internal DSLs for defining metamodels and offers a full modeling stack for Ruby.
Meta Programming System (MPS), a new Language Oriented Programming tool from JetBrains, allows the developers to extend programming languages as well as create Domain Specific Languages (DSLs) for enterprise applications. JetBrains development team recently announced the release of beta version of MPS software.
As key part the Oslo tools is a language for modeling textual DSLs (MGrammar). This article is an an attempt to try and use MGrammar to write a small parser that can interpret dates expressed in natural language.
Given the growing interest in Domain Specific Languages, Michael Feathers provides some reflections on external DSLs, their advantages and pitfalls as well as possible success and failure factors that he believes to be function of far more than the technology.
Based on their vision to deliver on the promise of model-driven development in SOA where business users, SOA architects and developers will be able to use the modeling tools to collaborate on composite applications, Microsoft has recently made several announcements about its modeling strategy.
JVM-compatible languages such as Scala, Groovy and JRuby are recently gaining more popularity for developing Domain Specific Languages (DSLs). But are they better suited to creating internal DSLs than the Java programming language? Venkat Subramaniam explains why "Essence over ceremony" and "Metaprogramming" features in a dynamic language like Groovy help in developing internal DSLs.
ThoughtWorks Studios has created Twist, an integrated development environment for functional testing of web and Java applications. The tool provides a single platform for documenting user stories, capturing executable requirements, developing, maintaining, running and reporting on functional tests. A free trial version of Twist is currently available for download and evaluation.
Microsoft has unveiled Visual Studio 2010 and .NET Framework 4.0.
There has been some debate recently to understand the meaning of Microsoft's support for UML. Is Microsoft going away from Domain Specific Languages or are UML and DSL complementary? Is UML becoming a notation more than a language? InfoQ spoke with Jack Greenfield to get some of these answers.
In this presentation filmed during QCon London 2007, Martin Fowler and Dan North talk about the communication gap existing between the developers and the customers or users. Closing this gap is extremely important in order to create successful software.
Business users doing programming? Charles Simonyi and Henk Kolk presents how Intentional Software offers a radical new software approach that separates business knowledge from software engineering knowledge, which means that business experts can be more innovative and responsive to the changes in the domain.
Ola Bini argues that the world will not have a new big language again because developers will find value in choosing different languages depending on their problem domain. Similarly Martin Folwer says that programmers will choose a language for what it can do in the same way that they choose frameworks now. On the other hand Joe Winchester debates that you can only be master of one language.