MPS

Meta Programming System: 
Introductory course

Location: JetBrains office, Prague
Duration: 3 days

Introductory       Advanced

Goals

  • Gain an overall understanding of the domain
  • Learn about the MPS capabilities
  • Understand the individual language-design aspects
  • Know how to create languages as well as language extensions on your own
  • Become fluent in using the essential MPS toolset

Agenda

  • Understanding the MPS user interface
  • MPS project structure and dependencies
  • Commanding the projectional editor
  • Introduction into the aspects of language definition
  • Effective navigation around code
  • Constraints and scoping
  • Language manipulation API - the smodel language
  • BaseLanguage and its extensions
  • Modularizing the editor definition and making the editor fluent
  • Quotations and antiquotations
  • Checking rules and quick-fixes
  • Detecting data flow issues in code
  • Generator templates and macros
  • Enhancing the structure with Attributes
  • Commenting out code and documentation comments
  • The MPS Console
  • Useful problem resolution strategies


Speaking to you

Václav Pech is passionate about programming in all its forms and flavours. He's keenly interested in server-side Java technologies, distributed and concurrent systems, modern programming languages and DSLs. He joined JetBrains on a mission to empower developers with top-notch development tools. He's currently involved in the MPS project, developing a projectional DSL workbench and building customized DSLs.

view profile

PREREQUISITES: Knowledge of programming in Java, basic familiarity with language engineering

This course targets beginners in the MPS technology. The training will gradually guide the trainees through the individual aspects of language definition, show them the essential capabilities of the tool and provide basic understanding of common language design patterns and development practices. You will be creating languages of increasing complexity, enhancing various aspects of existing languages and practicing typical scenarios of language design.

Key highlights:

  • The training is lead by experienced core MPS developers and seasoned trainers, who will help you gain insight into the technology through the most convenient paths.
  • Participants are split into small groups to guarantee individualized approach and instant feedback. 
  • The trainings are organized around practical hands-on exercises that you will be performing under close supervision.

Price: Since we prefer the freedom to customize the contents of each run of the course, we put up no fixed prices, but instead the prices will be agreed upon individually. We’ll be happy to discuss further details with you directly.

Alternative locations: We are able to train you on-site. If you’d like to have a JetBrains lecturer come over to your place and deliver the training at your premises, let us know through the form.

"I have really appreciated the quality of the MPS professional training course. Vaclav is a very knowledgeable instructor and a great teacher. The course was well organized in order to provide a comprehensive overview of MPS combined with extensive hands on practicing and exercises. I would recommend this course to anyone wishing to fully grasp the MPS' amazing potential. Breathing the inspiring air of the JetBrains headquarters and enjoying the city of Prague was a huge plus." 

— Mauro Bertapelle, JMatica Srl

"For those who want to learn meta programming this is a high quality course.

— B. B., The Netherlands

"One of the most instructive courses that I attended, an absolute must for anyone who goes to work with MPS." 

— M. A., The Netherlands

"Very efficient training to get to know MPS, with a very committed and competent trainer!" 

S. R., fortiss GmbH, Germany

Please use the form below to express your interest in the MPS training. We will reply to your inquiry by e-mail and provide you with additional details, answer your questions and suggest a concrete date.

Register now: