BT

Facilitating the Spread of Knowledge and Innovation in Professional Software Development

Write for InfoQ

Topics

Choose your language

InfoQ Homepage Domain Specific Languages Content on InfoQ

  • Using JRuby to generate Code for the JVM

    While JRuby's performance keeps increasing, there are still algorithms that are faster if implemented in Java. We look at different approaches to solve this: RubyInline for JRuby, generating bytecode with a JRuby DSL and a new subset of Ruby called Duby.

  • Microsoft Releases Web Service Software Factory Modeling Edition

    Microsoft released last week WSSF - Modeling Edition, a major release of the Web Service Software Factory. Don Smith, product manager in the Pattern & Practices team, unveiled an ambitious road map for this factory which is now fully integration the DSL vision set forth by Steve Cook's team.

  • Presentation: Ruby and the Art of Domain Specific Languages

    Rich Kilmer gives an introduction to the art of creating Domain Specific Languages in Ruby. The presentation gives a basic introduction, but moves on to useful distinctions in DSL styles, such as implicit vs. explicit internal DSLs or declarative vs. imperative DSLs. A look at a long list of real world DSLs Rich has created rounds of the presentation.

  • Creating Domain Specific Languages with Groovy

    Today marked the first day of the Groovy/Grails Experience, also known as 2GX, in Reston, Virginia. The conference spans three days and includes forty 90-minute sessions, panel discussions and code workshops. One of the first sessions of the day was Venkat Subramaniam's "DSL In Groovy." Venkat provided a thorough discussion on DSLs and how Groovy eases the creation and usage of them.

  • Glimmer - using JRuby and SWT for Eclipse RCP apps

    Glimmer is a library for building GUIs with JRuby and SWT. Using the Builder idiom, it allows to define GUIs very quickly, but also permits to access SWT APIs directly. Glimmer was recently proposed as an official Eclipse project, so we caught up with Andy Maleh to talk about the project.

  • Article: An Approach to Internal Domain-Specific Languages in Java

    In this article, Alex Ruiz and Jeff Bay describe Java's suitability as a DSL-producing language, delve into the creation of internal DSLs in Java, walk through an example of a Java-based internal DSL, and give recommendations on writing DSLs in Java.

  • Using ParseTree for LINQ-style queries and extracting metadata

    Whether it's LISP macros or LINQ's expression trees - access to the AST of code is a powerful tool. We look at how ParseTree allows this in Ruby - and how it's being used in libraries like Ambition, Sequel and the web framework Merb.

  • Anvil - Ruby MVC GUI library

    Anvil is a new Ruby GUI MVC framework aimed to make GUI development with Ruby simpler. Taking ideas from Rails and Merb, it provides code generators and other tools to automate much of the tedious work. InfoQ caught up with the developer Lance Carlson to see what's behind Anvil and what's planned for future releases.

  • Concept Programming

    Looking for a way to cope with the increasing complexity in software? Concept programming introduces a new way to look at how software is conceived and created, by closing the gap of how you represent the business problem concepts in your head and in code.

  • Does code become better as it approaches English?

    Achieving readability and expressiveness by writing English-like code is one of the trends on the rise in today’s industry. Michael Feathers advocates for considering other alternatives that can be instrumental for improving code expressiveness. He argues that in some circumstances symbolic approach is more appropriate than the narrative one and highlights some trades-offs between them.

  • Treetop - PEG parser generator for Ruby

    Parsing Expression Grammars (PEG) are a type of recursive descent parsers that have become quite popular recently. Now Ruby gets its own PEG parser generator with Treetop.

  • The state of the Lambda in Ruby 1.9

    One of Ruby 1.9's little additions is a new, more concise way to create lambda functions, amongst some other clarifications in the way Blocks work. We take a look at the changes and the reasons for them.

  • Robert Pickering on F# Workflows

    In this second InfoQ exclusive article, Robert Pickering continues the conversation diving deep into how workflows work in F#. Workflows in F# provide the building blocks for library implementors to create DSLs.

  • Decisions driven by productivity concerns: Reasons, implications and limitations

    Often the necessity to rapidly adapt software projects to new clients’ needs results in adopting approaches focused on productivity. Reasons, implications and limitations of this were recently discussed in the blog sphere.

  • Programming languages in future systems

    The trend seems to be clear; in the next few years there will be an increase in adoption of new programming languages and systems will be written in multiple languages. But what does the mix look like, and which languages are suitable for what? In a recent post, language explorer and JRuby developer Ola Bini describes what future systems may look like.

BT