In this presentation filmed during OOPSLA 2008, Janos Sztipanovits attempts to tackle the complexity of large scale systems integration. Software, systems and control engineering converge in such systems, raising the integration challenges and demanding a new approach to model-based design.
In this presentation filmed during QCon London 2008, Markus Voelter tried to convince the audience that writing a textual external DSL is fairly straightforward and simple. He took them through the steps needed to create a textual DSL from defining the grammar to processing a domain model.
In this interview recorded at RubyFringe, Jay Phillips talks about VoIP, Asterisk and how his framework Adhearsion makes it easy to write voice applications.
In the beginning of last year, Ehud Lamm launched on Lamba the Ultimate a thread about programming languages predictions for 2008. Several subjects popped up: concurrency, functional programming, future of Java, Ruby, C++, and many others… What really happened in 2008 and what are the prospects for 2009? Bloggers have addressed these questions on demand of James Iry, echoing at last year thread.
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.
In this RubyFringe talk, Reginald Braithwaite shows how to write Ruby that reads, writes, and rewrites Ruby. The demos include extending the Ruby language with conditional expressions, new forms of evaluation such as call-by-name and call-by-need, and more.
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 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.
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.
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.
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.
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.
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.