Framework Usage Patterns – Next Generation Software Engineering

http://www.sergeydmitriev.com/mps/doc/article/article.html

 

This is fantastic stuff coming from one of my all-time favorite companies, JetBrains. Here is a start:

Framework-usage pattern in MPS

Cyril Konopko, Konstantin Solomatov

 

 

Language Oriented Programming or LOP is a novel software development approach which employs domain specific languages. A domain specific language is a language which is designed to deal with one specific kind of tasks within a specific domain. One of the patterns of LOP usage, namely “framework-usages” is discussed.

Introduction

Language Oriented Programming or LOP is a software development approach which employs domain specific languages, or DSLs for short. A domain specific language, in contrast to general purpose languages, is a language which is designed to deal with one specific kind of tasks or with several related task kinds within a specific domain. For example, SQL is a DSL in a domain of database queries. LOP solves your main problem by dividing it into several subproblems in different domains, then each subproblem is solved using an appropriate DSL. In rather big projects, LOP can reduce singificantly the amount of work which has to be done.

In this article we will speak about JetBrains MPS, being developed by JetBrains, Inc., which is a so-called “language workbench”, i.e. a tool that helps you to use LOP in practice. You can read more about language workbenches on Martin Fowler’s site and about LOP in Sergey Dmitriev’s article.

A lot of people who heard about MPS don’t realize how it’s possible to take advantage of it. The current state of MPS is far from the point where you can throw away your Java or C# IDE and start writing everything in MPS with LOP, however it’s possible to use LOP and simplify some tasks significantly today. Actually, you probably use in your current project some kind of poor man’s LOP, techniques which make it possible to create small sublanguages in the program written on a language like Java, C#, or Ruby (Martin Fowler called such sublanguages Internal DSLs). This article explains the pattern that can employ MPS in its current state, describes prevalent poor man’s LOP tricks and presents several examples of it.

….

 

Seriously, check this out. Download the EAP, start using…..

 

Thanks,

Damon

~ by Damon Wilder Carr on 04.14.08.

Leave a Reply