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

  • 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.

  • Separating business logic from technology: Kathleen Dollard on a new view of code generation

    Even the most successful project becomes a failure when a new technology comes out and everything has to be rewritten from the ground. This is why business logic has to be separated from technology. And, according to Kathleen Dollard, code generation is a promising approach to achieve it.

  • Interview: Charles Simonyi on Intentional Software

    Charles Simonyi, the President of Intentional Software and a recent space traveller presents his views on the future of software development. He talks about how to include domain experts in the development cycle by letting them express their intentions in domain specific languages, about Intentional's view on DSLs and Domain Driven Design and about what it was like to be a space tourist.

  • InfoQ Presentation: MetaProgramming Ruby

    InfoQ presents a video of Dave Thomas' QCon London presentation "MetaProgramming Ruby". Dave presents the basic Ruby language features for implementing Ruby on Rails features such as has_many. Class methods, open classes, Mixins, and more tools for metaprogramming are demonstrated and explained.

BT