Documents and Live Demos

Conceptual Overview

  • Language Oriented Programming: The Next Programming Paradigm (Article, 2004)
  • Language Workbenches: The Killer-App for Domain Specific Languages? (Article, 2005)
  • DSL Adoption with JetBrains MPS (Article, 2009)
  • From Programming To Modeling — and back again (Article, 2010)

Introductory Tutorials

  • JetBrains MPS — Speaking your language (recorded presentation, GeeCON 2014)
  • Introduction to JetBrains MPS (Screencast)
  • Creating your first language in JetBrains MPS (Screencast)
  • An introductory Shapes tutorial (Article, Video)
  • MPS editor overview (Screencast)
  • Building a simple Calculator Language (Article, Video)
  • A more extensive Tutorial based on the LWC 11 Contribution (Article)
  • Java Language Extension with MPS: A new Statement (Screencast)
  • Java Language Extension with MPS: A Table Expression (Screencast)
  • Java Language Extension with MPS: New Types and Operators (Screencast)
  • Java Language Extension with MPS: Describing the dataflow (Screencast)
  • Extending mbeddr C (Tutorial, see chapter 7)
  • Tune the MPS channel on JetBrains TV for more

Reference Material

Advanced Topics

  • Developing Make Facets for MPS (Article)
  • Developing new Tools/Views for MPS (Article)
  • Developing Data Flow Analysis for MPS (Article)
  • Working with MPS and git (Article)
  • Working with MPS and ant (Article)
  • Language Modularization and Composition with MPS (2011, Paper)
  • Screencast
    • Part 1: MPS Intro (14:18)
    • Part 2: The Entities Language (14:05)
    • Part 3: Language Combination with the UI Language (14:51)
    • Part 4: Language Extension with Expression Blocks (13:14)
    • Part 5: Language Reuse (Separate Code) with the Persistence Languages (7:44)
    • Part 6: Language Reuse (Mixed Code) with the RBAC Languages (07:57)
    • Part 7: Language Embedding with the UI Validations/Expression Languages (12:55)
    • Part 8: Bonus: MPS Annotations (6:24)

MPS Use Cases and Other Related Reading

  • JetBrains MPS as a Tool for Extending Java (Paper, 2013)
  • Generic Tools, Specific Languages (PhD thesis, 2014)
  • Polyglot software development (PhD thesis, 2014)
  • mbeddr: an Extensible Programming Language and IDE for Embedded Systems (Case study, 2012)
  • Embedded Software Development with Projectional Language Workbenches (Paper, 2010)
  • Composable languages for bioinformatics: the NYoSh experiment (Paper, 2013)
  • YouTrack use of MPS (Case study, 2012)
  • Product Line Engineering with Projectional Language Workbenches (Paper, 2010)
  • DSLs to fully generate business applications - Daniel Stieger, (Case study, 2012)
  • MPS-based Domain-specific Languages for real time Java development - Tomas Fechtner (Diploma thesis, 2012)
  • mbeddr C documentation and tutorials (Documentation)