« September 2006 | Main | January 2007 »

December 30, 2006

External DSLs - easy

After Martin Fowler's recent JAOO speech some people got impression that external DSLs will hardly get steam because they are to complex to develop, that they need parsers and hard to teach, learn and maintain.
I can't agree.
First of all, mentioning of parsers is not relevant if we are talking about MPS. We don't use parsers technology.
Second, learning of new language is easy because of the tool support and because DSL expresses concepts of target domain better then GPL.
And last but not least, process of creation of a DSL (in MPS) is highly iterative (because of constant feedback) and much more funny then, say, development of an API using GPL.

Happy New Year to everybody!


Posted by Igor Alshannikov at 11:39 PM | Comments (0)

December 20, 2006

web application in 14 minutes

Here is a demo where we create a web application from scratch in 14 minutes.

Posted by Igor Alshannikov at 07:51 PM | Comments (1)

90 minutes' DSL challenge!

That must be interesting.
Famous Juha-Pekka Tolvanen is going to define a non-trivial DSL (20+ concepts with generator to working application) in just 90 minutes at his hands-on session.

He will bring MetaEdit with him but everybody is invited to bring his/her own tool.
I wonder if there is somebody out there who will bring MPS.
We can provide the latest build and 24/7 technical support:)

Posted by Igor Alshannikov at 05:09 AM | Comments (0)

December 11, 2006

Collections in Base Language [2]

In his comments to my previous post (thanks for comments BTW) respected Prashant Deva expressed cautious doubts that collections language doesn't offer improvements over using of Java/C# collections.
Since that I’ve got more experience in using of our collections language and can say that sometimes they DO offer improvements over Java, and may be even over C# collections.
I can show an example.
It is real description of custom auto-completion menu of one of the node editor’s cell.


In the 1st line I got all languages from input model (the 1st line is next to the "parameter objects : ...." caption).
In the 2nd line I got all structure-models from those languages.
And finally, in the 3d line I got all concepts declared in those structure-models.

Isn’t it beautiful?

Posted by Igor Alshannikov at 04:20 AM | Comments (2)