Hi all,
I really enjoyed reanding the article, and basically agree with the whole vision presented there. I work as a software architect, and I already use a LOP perspective while developing software frameworks, even if I currently use only pure java to write them.
I'm eager to test the prototype/plugin, but I could not find it on http://www.jetbrains.com/mps/index.html
This was old text from a previous draft of the article when we weren't sure what would be available on the MPS site. It was supposed to be removed, but slipped through the cracks. Our apologies.
There will be a prototype in the coming months, but it is not ready yet. We will correct the online version of the article as soon as possible.
Regards,
Rob Harwood
There will be a prototype in the coming
months, but it is not ready yet. We will correct the
online version of the article as soon as possible.
Sergey, does it make sense to look at the MPS100 prototype from one year ago which is on your blog? (Of course, I did look at it already.) I mean, does what you are working on currently still have anything to do with that old version?
If so, to me it looks like your old prototype covers only the "semantics" part of LOP, not the "editor" or "structure" aspects, is that correct? Will that be different in the prototype that you plan to release soon?
Anyway, I think it looks extremely promising.
Best regards,
Jens
The article really reads VERY interesting!
But theory is gray, so I'm eagerly waiting for any kind of prototype / the IDEA plugin ![]()
Some problems there might be:
- when looking at foreign MPS code, you have to understand the languages the other developer has designed. It will be important that languages are well designed, e.g. like usage of operator overloading etc.
- Will it be easy to migrate my code, when I want to switch towards a better DSL (if somebody wrote a better DSL for the same problem that I wrote one for)
Best regards,
Michael
- when looking at foreign MPS code, you have to understand the languages the other developer has designed. It will be important that languages are well designed, e.g. like usage of operator overloading etc.
It is the same as with class libraries - you need to learn it before using it. But in LOP the environment (editor) will help you to use new language - by providing languge-specific editor actions, autocompletion, refactorings, etc. And our experience shows that languages are much easier to learn then libraries, because they can be made much closer to the way people think about the problem domain.
- Will it be easy to migrate my code, when I want to switch towards a better DSL (if somebody wrote a better DSL for the same problem that I wrote one for)
The fact that programs in MPS are represented as trees and graphs means that you will not need to write parser for such transformation.
We also will provide special language that will allow to query/browse/change programs written in MPS, so yo can write these transformation scripts on a very high level, much easier then using existing approach, i.e. like source code API in IntelliJ IDEA.
So we'll make such kind transformation easier, at least it will become possible in MPS. Now for example it is almost impossible to transform UI code written in Java Swing to .Net's WinForms.