MPS 2.0, 1-st Release Candidate

July 18th, 2011 by ashatalin

Today we are glad to announce that MPS 2.0 RC1 is available for downloads.

As usually, you are more then welcome to try this build. We need fresh portion of feedback - MPS 2.0 RC2 will be released in a week from now.

Develop with pleasure!
-JetBrains MPS Team

Tutorials and Screencasts

July 14th, 2011 by ashatalin

If you are new to MPS it can be difficult to become familiar with the product. It is important to understand basic approaches connected to project structure, new language creation, editing experience in MPS, etc.

As a first step toward improving MPS documentation we have created a separate section on the MPS Welcome Page in confluence - Tutorials and Screencasts. Currently this page contains materials mostly prepared by Markus Völter (thanks, Markus!).

With the upcoming MPS 2.0 release, we will be adding more screencasts recorded with new MPS version. If you would like to add something or just share your thoughts on the project, please post your comment on the confluence page.

Develop with pleasure!
-JetBrains MPS Team

The point of no return

July 4th, 2011 by Václav Pech

The last milestone on our adventurous path towards MPS 2.0 has been passed just a few moments ago. We’re now heading towards the final release in just about a few weeks from now.

The list of additions in M6 is pretty promising:

  • Migration script to translate your projects to 2.0
  • Reorganized and customizable editor tabs
  • The Structre tool and navigation to work with language aspects in a more logical way
  • Quick creation of new default editor by a quick-fix
  • Table editors with row and column selection modes

Now is the best time to read the full description of what’s new and certainly grab M6 from the EAP download page.

Develop with pleasure!
-JetBrains MPS Team

Another step forward

May 24th, 2011 by Václav Pech

The MPS Milestone 5 is now waiting for you to grab it and enjoy. This time, there are exactly three changes visible from the outside (plus a lot changes and improvements under the hood, of course):

  1. TypeSystem trace improvements
  2. The ability to run MPS, with your language enhancements applied, directly from MPS
  3. A Power Save Mode to speed-up MPS when dealing with large projects

Read the full description of the new functionality and get the M5 release from the EAP download page.

Develop with pleasure!
-JetBrains MPS Team

MPS at Code Generation 2011

April 19th, 2011 by Václav Pech

Here’s a bit of good news to kick the week off - the JetBrains MPS team is going to the Code Generation 2011 conference, held in Cambridge, UK, on 25th - 27th May. Alex Shatalin together with Markus Völter will be giving a hands-on MPS workshop on May 27th to help you get started with MPS. You’ll get a chance to put your hands on MPS and see whether and how it solves your current needs.
Come to the session or talk to us directly any time. We’re looking forward to seeing you all there.

Develop with pleasure!
-JetBrains MPS Team

Milestone 4 available

April 11th, 2011 by Václav Pech

That was fast. It feels like yesterday when Milestone 3 with its fancy tabular editors, reorganized text generation and several other cool features was announced and yet today we get Milestone 4 sitting on the shelf ready for a test ride. Go and grab it while it’s hot. On top numerous bug-fixes, the release brings major internal refactorings and several useful new features.

  • Better stub organization
  • First shot of a contextual help
  • Completely new dialog to do merges safely and intuitively
  • Named tuples can now implement interfaces
  • Updated to the recent IntelliJ platform

For all the relevant details, please check out the What’s new page.

Develop with pleasure!
-JetBrains MPS Team

MPS marching past the 3rd milestone

February 9th, 2011 by Václav Pech

The good news to all MPS enthusiasts out there - MPS Milestone 3 is available. A full-blown colorful description of what’s new is available for you to check out, but here’s a brief summary, if you can’t wait:

  • Tabular editors
  • New organization of editor tabs
  • Reorganized Make/Generate actions
  • Intuitive structured view for generated text (I personally love this one)
  • New Breakpoints and Watches in Java Debugger
  • Trace information generation through textGen
  • Plugin framework improvements

I guess this is quite some stuff for all of us to try and enjoy. We’ll be happy to hear back from you your feedback, comments or suggestions.

Develop with pleasure!
-JetBrains MPS Team

New Year, New Office: Hallo Deutschland!

January 21st, 2011 by Eugene Toporov


2010 was a huge success for JetBrains but it is already clear 2011 is going to be another year to remember.
On the 17th of January, as part of our growth, we opened a new office in Munich, Germany.

Why Germany?

The beer of course! Now, although the beer had a great role in the decision, one of the main reasons was that we want to be closer to our European community. Europe makes up a big part of our customer base with Germany being the biggest one in Europe, and Munich is quite the center of EU. Being here full-time we’ll be able to participate more in local events and organize our own too.
View from our 6th floor office window.

Come and Celebrate it with us at the JetBrains Open House

We are eager to get under way, so let there be no delay. We want to celebrate the opening of our new office and invite you to join us at a small “open house” gathering. We’ll tell you more about us, how we work, why we care so much about our work.

You’ll meet the teams behind the tools you use daily. We’ll share some news, probably T-shirts, and we’ll have some drinks and food of course.
Tele-conference with RubyMine team in St.Petersburg.

The “open house” will take place on Friday, 18th of February, 16:30 - 20:30.

A large section of our office is still being made up, so our capacity is a bit limited at the moment. Therefore, we kindly ask you to RSVP and also tell us what JetBrains products excite you most, except MPS of course.


JetBrains GmbH team
“Develop with pleasure!”

The MPS 2.0 Future Series: Part 3. MPS - an open source project

December 22nd, 2010 by Václav Pech

In this last part of our MPS future series, we’ll have a brief look at the project itself and discuss its properties with respect to the community around it.

Grabbing MPS

As most of you probably know, the MPS source code is already available (see a blog post mentioning the details). Shared source code, however, is not the only useful attribute of a good open source project. We plan to publicly share MPS daily and milestone builds for anyone to download.
The MPS website itself will soon be enhanced, too. It needs to include a lot more community-oriented features in addition to the already-existing bugtracker - it will host a wiki for community-built documentation, various code examples as well as on-line help.
We believe all these changes will result in enhanced communication and cooperation between all the people interested in the future of Domain Specific Languages.

Conclusion

In this three-part series we’ve looked under the hood of MPS 2.0. You see there’s a lot to look forward to. Although the plans may still change and features get re-prioritized, you could now have a sound idea of where the project is heading.

This document only highlighted the most important features. If you want to see details, and also track the progress, you should take a look at the MPS issue tracker.
Specifically, this search will give you the issues related to MPS 2.0. All these requests are only “plan items” for 2.0. We will probably fix a huge number of “normal bugs” along the way as well

The latest milestone builds are available for download from the MPS 2.0 EAP download page and you can follow development also through the MPS blog.

Develop with pleasure!
-JetBrains MPS Team

The MPS 2.0 Future Series: Part 2. Documentation, modularization et al.

December 13th, 2010 by Václav Pech

We’ve talked a lot about the editor enhancements making in into MPS 2.0. Now let’s move on from the editor to other topics.

No comment, or yes?

An important improvement for everyone to benefit will be the addition of a base language for documentation and comments. By embeding this language in any of your own languages, you will be allowed to use rich text documentation inlined in your language’s program code.
One feature in particular is very interesting: you will be able to insert other nodes in the free-flowing documentation text. These could, among other things, reference yet other language nodes. So, for example, if you work with a language for expressing insurance contract rules, you can embed variable declarations and/or references to calculation rules into the flowing text, resulting in a nice integrated approach to mixing formal models and free flowing text.

A somewhat related functionality is comment-out, working for any language. As expected, commented out code will not be seen by other (referencing) nodes or by generators.

What’s your version number?

Let’s now turn to the version control integration. A couple of enhancements are planned here as well.

  • VCS annotations will be supported directly from the editor
  • The project and model properties will be diff-able. This is very useful, since these property files can themselves be non-trivial, and better VCS support here is very much appreciated.
  • Diffs will be possible on per root node, and not just per model.
  • Histories for roots will be supported.

Modules

Another major area for enhancements is the modularization of MPS itself. Now, this is very important, since it will, among other benefits, make MPS DSLs accessible to non-programmers.
The goal here is to be able to

  • Easily create standalone applications that only contain one or more MPS languages, getting rid of the “language development UI/features” UI complexity.
  • Deploy an MPS language as a plugin into IDEA

To demonstrate this, several such standalone “MPS applications” are currently under development.

Generator

As most of the other parts of MPS, the generator will also be enhanced. One important improvement is to allow parametrization of generators.
When a generator is invoked, values for the parameters can be set, for example through a facet. These values are then used in mapping configurations and in templates to determine exactly how the code generation should proceed.

Facets

MPS will also inherit IDEA’s concept of facets (a similar concept is available in Eclipse as Natures). A facet is a way to define certain characteristics of a project. Specifically, they can configure generators, through the parameters mentioned in the previous paragraph. Facets can also contribute additional UI elements to MPS itself. You’ll be able to define facets as a language aspect.

Other

There will be a large set of smaller improvements, including:

  • Improvements to the collection and closure languages
  • Pasting in from normal (i.e. ASCII-textual) Java code.
  • Enhancements to the debugger, which have already been included into the first two Milestone Builds

Conclusion

Wow, that was quite a ride, wasn’t it. Now it is your turn to give us your feedback while the info is still hot in your head. Please use the comment section below and let us adopt MPS to your needs.

Develop with pleasure!
-JetBrains MPS Team