InfoQ

InfoQ

Presentation

My Bookmarks

Login or Register to enable bookmarks for unlimited time.

The content has been bookmarked!

There was an error bookmarking this content! Please retry.

Recorded at:
Recorded at

Introduction to Domain Specific Languages

Presented by Martin Fowler on Oct 31, 2006 Length 00:25:34
Sections
Development,
Architecture & Design
Topics
Domain Specific Languages ,
Java ,
Ruby ,
.NET
Tags
ThoughtWorks ,
Languages ,
JAOO Conference
 

How would you like to view the presentation?

In case you are having issues watching this video, please follow these simple steps to help us investigate the issue:
1. Right click on the video player and select Copy log
2. Paste the copied information in an email to video-issue@infoq.com (clicking this link will fill in the default details in most email clients).
Note: in case your email client hasn't automatically picked up the email subject, please include in your email the URL of the video too.
3. Done.
We will investigate the issue and get back to you as soon as possible. Thanks for helping us improve our site!
Summary
Domain Specific Languages (DSLs) are limited forms of computer language designed for a specific class of problems. In this JAOO conference talk, Martin Fowler introduces a simple example of DSL, bringing out the difference between external and internal DSLs, and talking through the trade-offs in using both forms. The talk is based on Martin's language workbench article on martinfowler.com.

Bio
Martin Fowler is one of our industry's most well known thought leaders having had an influence in the adoption of OO, refactoring, patterns, agile methodologies, domain modeling, UML, and XP. Martin is Chief Scientist at ThoughtWorks, and writes regularly at www.martinfowler.com.
Smalltalk and DSLs by Carl Gundel Posted
DSL or not by Jonas Ekstrom Posted
  1. Back to top

    Smalltalk and DSLs

    by Carl Gundel

    Mr. Fowler rightly mentioned Lisp as a language for creating DSLs, but I was surprised that he did not mention Smalltalk. Those interested in DSLs certainly owe it to themselves to take a close look at Smalltalk.

  2. Back to top

    DSL or not

    by Jonas Ekstrom

    Let's say the problem domain is specific to process patterns.

    Is it better to use a well known language (such as C#) together with a domain specific framework (such as CCR) to solve a problem, or should one use a DSL (such as BPEL)?

Educational Content

Questions for an Enterprise Architect

Erik Dörnenburg answers: What is Enterprise and Evolutionary Architecture?, discussing 4 issues: Turning strategy into execution, Ensuring conformance, Where do the architects sit? Buying or building?

Wrap Your SQL Head Around Riak MapReduce

Sean Cribbs explains what Map-Reduce and Riak are, why and how to use Map-Reduce with Riak, and how to convert SQL queries into their Map-Reduce equivalents.

Polyglot Persistence for Java Developers - Moving Out of the Relational Comfort Zone

Chris Richardson shows how he ported a relational database to three NoSQL data stores: Redis, Cassandra and MongoDB.

The Golden Circle – Why How What

Jean Tabaka challenges the audience to reflect on what Agile practices they are employing, how they are using them, ending with the questions “Why have their organization chosen to go Agile?

The Web Platform as a Limitless Pool of Innovation, with Andreas Gal

Andreas talks about the benefits of the Open Web and how it compares to proprietary stacks. He also talks about various projects that push the envelope like Boot to Gecko, Broadway and pdf.js.

Hadoop and NoSQLin a Big Data Environment

Ron Bodkin discusses early adoption of Hadoop, NoSQL and describes MapReduce and related libraries and Frameworks. Other topics include Hive, Pig, multi tenancy, and security in a big data environment

Spring and Platform Interoperability

Stephen Bohlen explains how Spring helps with interoperability between Java and .NET, demoing it with the help of a sample application.

How to Stop Writing Next Year's Unsustainable Piece of Code

Guilherme Silveira mentions some of the turning points in project development that may affect the quality of the code offering advice on avoiding writing crappy code.