Session Info

Session Title

Extending Java with MPS



Session Type Hands-On

Duration 165 minutes

Session Description

Domain Specific Languages allow you to write code in the domain-expert's lingo. Along with many advantages this brings about several challenges, like notation ambiguity or lack of editor support, that need to be addressed in order for you to benefit fully from the concept. JetBrains Meta Programming System (MPS) is an open-source framework addressing the task of creation, extension and combining DSLs. Primarily focused on IDE/code-generation aspects of new languages, MPS allows you to create extensions to existing languages and use newly created custom language constructs in your code. JetBrains MPS pioneers the Language Oriented Programming (LOP) concept, which is gaining increasing attention today.

Attendees are expected to work with their own laptops or to share a laptop. The presenters will supply memory sticks with recent versions of all the tools that will be needed. However,  delegates should have Oracle's JDK 1.6 installed for all code to work smoothly.

Note: Places are limited on this session and will be allocated on a first-come first-served basis.


Speaker(s)

Václav Pech (Jetbrains)

Václav is a programming enthusiast who's constantly seeking ways to make development more effective and enjoyable. He's particularly interested in server-side Java technologies, distributed systems, parallel programming, agile methodologies, modern programming languages and DSLs. He works for JetBrains as a senior software developer and a technology evangelist. More at http://vaclavpech.eu



Timur Abishev (Jetbrains)


Timur Abishev, who obtained his Masters degree from St. Petersburg State University, has been part of the MPS team for more than two years. Thanks to his involvement in different parts of MPS core, he has in-depth knowledge of the system as well as the related conceptual domains. He was recently busy improving the smoothness of the MPS projectional editor and bringing it on par with text-based IDEs.