Facilitating the Spread of Knowledge and Innovation in Professional Software Development

Write for InfoQ


Choose your language

InfoQ Homepage Presentations Building Your Own Java, Part 1

Building Your Own Java, Part 1



Alex Shatalin and Václav Pech hold a hands on demonstration on using JetBrains MPS to generate a new language, including version control, debugging, testing, refactoring, etc.


Alex Shatalin is the JetBrains MPS project lead. Before JetBrains, Alex worked at Borland Together, for Eclipse Graphical Modeling Framework development, and in various other MDA/DSL-based application development projects. Václav Pech works for JetBrains as a senior software developer and a technology evangelist. More at

About the conference

The Code Generation conference is the leading event on the practical applications of Model-Driven Software Development (MDSD). It offers a high quality learning experience by combining discussions and debates with a diverse range of practical tutorials and workshops. It will also give you the opportunity to share experiences and knowledge with fellow developers.The conference is now in its 6th year and is known for providing a high-value learning experience. This reputation has been built up by attracting industry-recognised experts to share their experiences at the conference.

Recorded at:

Sep 14, 2012

Hello stranger!

You need to Register an InfoQ account or or login to post comments. But there's so much more behind being registered.

Get the most out of the InfoQ experience.

Allowed html: a,b,br,blockquote,i,li,pre,u,ul,p

Community comments

  • nice idea

    by will mason,

    Your message is awaiting moderation. Thank you for participating in the discussion.

    Hi -- I like the concept, we should be working with abstractions (something like a software IC, for example). Implementation I think using a syntax tree is going in the opposite direction to a finally desirable paradigm. So I expect many folk will switch off for paragraph two. For me I've written code, databases and abstract models for many years and trialled many, many IDE-s and editing tools.

    In other words I have an informed viewpoint. Your code (text) representation needs to look like word-processor (errors are like a spellchecker). The abstract representation should not be a syntax tree, the abstraction needs to reside in the problem (or the solution) domain. I (think) that you can use MPS to make models of 'solution domains' and in that respect this is a great step forward (when people do that). However, what I think we get with a tool for DSL-s will be something similar to FORTH and Smalltalk wherein we actually have a tower of babel within implementation environments.

    I reckon MPS is going towards the right orientation, and I'd like to suggest considering an alternative 'direction' (if you like) and reflect on open, generative systems like MUDD-s (or game like environments). And remember the 'spell checker' idea!

    aloha, w.

Allowed html: a,b,br,blockquote,i,li,pre,u,ul,p

Allowed html: a,b,br,blockquote,i,li,pre,u,ul,p