InfoQ Homepage Domain Specific Languages Content on InfoQ
-
Article: Writing A Texual DSL Using 'OSLO'
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.
-
External DSLs: Success and Failure Factors
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.
-
How a Modeling Language Should Look Like and where UML Stands with Regard to this?
Based on the book Domain Specific Modeling by S. Kelly and J.-P. Tolvanen, the author of Learning Lisp blog exposed some thoughts on how a modeling language should look like and where UML stands with regard to this. While it appears that UML doesn’t provide enough precision and high enough level of abstraction, another blogger suggests a different approach that may allow its successful use in MDD.
-
Martin Fowler on Oslo
For many years Martin Fowler has been in the forefront of software engineering. He is often given credit for popularizing techniques such as refactoring and dependency injection. Lately he has been evangelizing domain specific languages, so of course Oslo piqued his interest.
-
The Ioke JVM Language: The power of Lisp and Ruby with an intuitive syntax
Ola Bini, a core JRuby developer and author of the book Practical JRuby on Rails Projects, has been developing a new language for the JVM called Ioke. This strongly typed, extremely dynamic, prototype based object oriented language aims to give developers the same kind of power they get with Lisp and Ruby, combined with a nice, small, regular syntax.
-
LLVM and Ruby Roundup: llvmruby, yarv2llvm and regexpllvm, Rubinius
The llvmruby project provides Ruby bindings for LLVM. Yarv2llvm is a project built with llvmruby which translates Ruby 1.9 opcodes to LLVM bitcode, which can be compiled down to native code, using LLVM's JIT functionality. Also: the Rubinius VM, currently rewritten using C++, now also comes with LLVM.
-
Is Groovy a Better Choice Than Java for Creating Internal DSLs?
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.
-
Fluent NHibernate
Fluent NHibernate is an API for creating NHibernate mappings programmatically instead of XML configuration files. Its goal is to reduce the difficulties faced when incorporating NHibernate in a project by providing improved readability, testing capabilities, and compile time safety.
-
Interview: Guy Steele on Programming Languages
Floyd Marinescu, co-founder of InfoQ, interviewed Guy Steele, a Sun Fellow working for the Programming Language Research Group at Sun, about programming languages, the lessons to be learned from the past and what to expect from the future.
-
Article: Beyond SOA, a New Type of Framework for Dynamic Business Applications - Part II
In the second part of their article, Vasile and Michael explore the architecture of Dynamic Business Application as a possible standard architecture for server-side applications. The authors note that in this architecture concepts like SOA play a minor role while components like BPM engines, schedulers, messaging have a definite role.
-
Article: Domain Specific Languages in Erlang
Erlang is mostly known for reliability and for its concurrency and scalability concepts. But did you know that Erlang is a language well suited for writing DSLs? Dennis Byrne shows you how.
-
Article: Best Practices for Model-Driven Software Development
Model-driven software development no longer belongs to the fringes of the industry but is being applied in more and more software projects with great success. In this article, experienced MDD practitioners pass on some best practices based on the experiences gathered over years of development.
-
Einstein: an Experimental 4GL for SOA
SOA implementation typically requires usage of multiple technologies for implementing different SOA aspects. Such implementation is a daunting task, requiring, at a minimum, understanding different technologies, involved in typical SOA implementation. One of the possible solutions to this complexity is developing Domain Specific programming languages for SOA.
-
Object Lifecycle Explorer Released on AlphaWorks
Object Lifecycles (a.k.a State Machines) have been for the most part ignored by developers, architects and business process practitioners alike. A group of researchers from IBM Zurich has just released an Object Lifecycle modeling tool that complements and link with executable Business Process models.
-
Presentation: Intentional 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.