<?xml version="1.0" encoding="utf-8"?>
<feed version="0.3" xmlns="http://purl.org/atom/ns#" xmlns:dc="http://purl.org/dc/elements/1.1/" xml:lang="en-us">
<title>MPS Blog</title>
<link rel="alternate" type="text/html" href="http://www.sergeydmitriev.com/mps/blog/" />
<modified>2008-12-10T19:27:13Z</modified>
<tagline></tagline>
<id>tag:www.sergeydmitriev.com,2008:/mps/blog/2</id>
<generator url="http://www.movabletype.org/" version="3.16">Movable Type</generator>
<copyright>Copyright (c) 2008, Igor Alshannikov</copyright>
<entry>
<title>MPS went Beta!</title>
<link rel="alternate" type="text/html" href="http://www.sergeydmitriev.com/mps/blog/archives/2008/12/mps_went_beta.html" />
<modified>2008-12-10T19:27:13Z</modified>
<issued>2008-12-10T19:22:16Z</issued>
<id>tag:www.sergeydmitriev.com,2008:/mps/blog/2.31</id>
<created>2008-12-10T19:22:16Z</created>
<summary type="text/plain">After years of research and development MPS finally has reached Beta state! In connection with that transition the MPS blog has moved to the new place: http://blogs.jetbrains.com/mps Subscribe! Check-out MPS Beta! Participate! (discussion forum) MPS is released under the Apache...</summary>
<author>
<name>Igor Alshannikov</name>

<email>Igor.Alshannikov@jetbrains.com</email>
</author>

<content type="text/html" mode="escaped" xml:lang="en-us" xml:base="http://www.sergeydmitriev.com/mps/blog/">
<![CDATA[<p>After years of research and development MPS finally has reached Beta state!</p>

<p>In connection with that transition the MPS blog has moved to the new place: <a href="http://blogs.jetbrains.com/mps">http://blogs.jetbrains.com/mps</a></p>

<p>Subscribe!<br />
Check-out <a href="http://www.jetbrains.com/mps/">MPS Beta</a>!<br />
Participate! (<a href="http://www.jetbrains.net/devnet/community/mps">discussion forum</a>)<br />
MPS is released under the Apache License version 2.0! <br />
</p>]]>

</content>
</entry>
<entry>
<title>TheSimplestLanguage commented</title>
<link rel="alternate" type="text/html" href="http://www.sergeydmitriev.com/mps/blog/archives/2008/07/a.html" />
<modified>2008-07-09T19:38:53Z</modified>
<issued>2008-07-09T17:38:05Z</issued>
<id>tag:www.sergeydmitriev.com,2008:/mps/blog/2.30</id>
<created>2008-07-09T17:38:05Z</created>
<summary type="text/plain">Just came across the new MPS screencast by Sebastien Arbogast. I wish the resolution be better but Sebastien&apos;s comments are quite insightful and enjoyable....</summary>
<author>
<name>Igor Alshannikov</name>

<email>Igor.Alshannikov@jetbrains.com</email>
</author>

<content type="text/html" mode="escaped" xml:lang="en-us" xml:base="http://www.sergeydmitriev.com/mps/blog/">
<![CDATA[<p>Just came across the new <a href="http://www.vimeo.com/1284260">MPS screencast</a> by Sebastien Arbogast.</p>

<p><object width="400" height="286">	<param name="allowfullscreen" value="true" />	<param name="allowscriptaccess" value="always" />	<param name="movie" value="http://www.vimeo.com/moogaloop.swf?clip_id=1284260&amp;server=www.vimeo.com&amp;show_title=1&amp;show_byline=1&amp;show_portrait=0&amp;color=&amp;fullscreen=1" />	<embed src="http://www.vimeo.com/moogaloop.swf?clip_id=1284260&amp;server=www.vimeo.com&amp;show_title=1&amp;show_byline=1&amp;show_portrait=0&amp;color=&amp;fullscreen=1" type="application/x-shockwave-flash" allowfullscreen="true" allowscriptaccess="always" width="400" height="286"></embed></object><br /></p>

<p>I wish the resolution be better but Sebastien's comments are quite insightful and enjoyable.</p>]]>

</content>
</entry>
<entry>
<title>The Yellow Fox rides IntelliJ IDEA Platform</title>
<link rel="alternate" type="text/html" href="http://www.sergeydmitriev.com/mps/blog/archives/2008/06/the_yellow_fox.html" />
<modified>2008-06-12T17:27:27Z</modified>
<issued>2008-06-12T17:20:11Z</issued>
<id>tag:www.sergeydmitriev.com,2008:/mps/blog/2.29</id>
<created>2008-06-12T17:20:11Z</created>
<summary type="text/plain">MPS got appealing IDEAish look - thanks to migration to new platform. Check it out! The latest build is available here....</summary>
<author>
<name>Igor Alshannikov</name>

<email>Igor.Alshannikov@jetbrains.com</email>
</author>

<content type="text/html" mode="escaped" xml:lang="en-us" xml:base="http://www.sergeydmitriev.com/mps/blog/">
<![CDATA[<p>MPS got appealing IDEAish look - thanks to migration to new platform.<br />
Check it out! The latest build is available <a href="http://www.jetbrains.net/confluence/display/MPS/JetBrains+MPS+Download+Page">here</a>.</p>

<p><img alt="YellowFox_welcome.PNG" src="http://www.sergeydmitriev.com/mps/blog/archives/YellowFox_welcome.PNG" width="973" height="442" /></p>]]>

</content>
</entry>
<entry>
<title>New screencasts</title>
<link rel="alternate" type="text/html" href="http://www.sergeydmitriev.com/mps/blog/archives/2008/04/new_screencast.html" />
<modified>2008-04-22T20:16:43Z</modified>
<issued>2008-04-22T20:05:47Z</issued>
<id>tag:www.sergeydmitriev.com,2008:/mps/blog/2.28</id>
<created>2008-04-22T20:05:47Z</created>
<summary type="text/plain">We create several screencasts which show how to create simple languages in MPS: The Simplest Language Simple Base Language Extensions P.S. In addition to my Russian blog here. I have an English blog on MPS here. I will mostly write...</summary>
<author>
<name>Konstantin Solomatov</name>

<email>kostik@jetbrains.com</email>
</author>

<content type="text/html" mode="escaped" xml:lang="en-us" xml:base="http://www.sergeydmitriev.com/mps/blog/">
<![CDATA[<p>We create several screencasts which show how to create simple languages in MPS:<br />
<ul><br />
  <li><a href="http://www.sergeydmitriev.com/mps/tsl_demo/TheSimplestLanguage.html">The Simplest Language</a></li><br />
  <li><a href="http://www.sergeydmitriev.com/mps/blext/BaseLanguageExtension.html">Simple Base Language Extensions</a></li><br />
</ul></p>

<p>P.S. In addition to my Russian blog <a href="http://krlz.livejournal.com/">here</a>. I have an English blog on MPS <a href="http://solomatov.wordpress.com/">here</a>. I will mostly write to it because wordpress provides spam protection and has better interface than movable type.</p>]]>

</content>
</entry>
<entry>
<title>Build #531 is out</title>
<link rel="alternate" type="text/html" href="http://www.sergeydmitriev.com/mps/blog/archives/2008/04/build_531_is_ou.html" />
<modified>2008-04-12T02:12:17Z</modified>
<issued>2008-04-12T01:52:59Z</issued>
<id>tag:www.sergeydmitriev.com,2008:/mps/blog/2.27</id>
<created>2008-04-12T01:52:59Z</created>
<summary type="text/plain">The new MPS build #531 is available for download. It is about two weeks since previous build and we are planning to fire fresh builds more often then before: on bi-weekly basis or about that. The second good news is...</summary>
<author>
<name>Igor Alshannikov</name>

<email>Igor.Alshannikov@jetbrains.com</email>
</author>

<content type="text/html" mode="escaped" xml:lang="en-us" xml:base="http://www.sergeydmitriev.com/mps/blog/">
<![CDATA[<p>The new MPS build #531 is available for <a href="http://www.jetbrains.net/confluence/display/MPS/JetBrains+MPS+Download+Page">download</a>.</p>

<p>It is about two weeks since previous build and we are planning to fire fresh builds more often then before: on bi-weekly basis or about that.</p>

<p>The second good news is that <a href="http://teamsys.intellij.net">MPS bug-tracker</a> is now open for external submitters.  (I <a href="http://www.sergeydmitriev.com/mps/blog/archives/2008/03/the_first_real.html">repeat myself</a> but can’t help mentioning that the JetBrains bug tracker is developed using MPS).</p>

<p>I also would like to thank <a href="http://www.intellij.net/forums/profile.jspa?userID=19214">Tracy Snell</a> for composing of updated <a href="http://wiki.snagdata.com:8080/display/mps/Getting+Started+with+MPS">Getting Started with MPS</a> tutorial.</p>

<p>It is actually first ever external contribution to the MPS project!</p>]]>

</content>
</entry>
<entry>
<title>MPS Build #504 is out</title>
<link rel="alternate" type="text/html" href="http://www.sergeydmitriev.com/mps/blog/archives/2008/03/mps_build_504_i.html" />
<modified>2008-03-27T21:01:22Z</modified>
<issued>2008-03-27T15:10:53Z</issued>
<id>tag:www.sergeydmitriev.com,2008:/mps/blog/2.26</id>
<created>2008-03-27T15:10:53Z</created>
<summary type="text/plain">We&apos;ve released a new version of MPS EAP build. You can download it from this page: http://www.jetbrains.net/confluence/display/MPS/JetBrains+MPS+Download+Page The most important new features: It&apos;s possible to work with MPS without IntelliJ IDEA Generator tracer: easy way to find out why generator...</summary>
<author>
<name>Konstantin Solomatov</name>

<email>kostik@jetbrains.com</email>
</author>

<content type="text/html" mode="escaped" xml:lang="en-us" xml:base="http://www.sergeydmitriev.com/mps/blog/">
<![CDATA[<p>We've released a new version of MPS EAP build. You can download it from this page: <a href="http://www.jetbrains.net/confluence/display/MPS/JetBrains+MPS+Download+Page"><br />
http://www.jetbrains.net/confluence/display/MPS/JetBrains+MPS+Download+Page</a></p>

<p>The most important new features:<br />
<ul><br />
  <li>It's possible to work with MPS without IntelliJ IDEA</li><br />
  <li>Generator tracer: easy way to find out why generator behaves this way.</li><br />
  <li>Improved transient models saving</li><br />
  <li>Unified DotExpression across the languages.</li><br />
  <li>Ability to write Intentions</li><br />
  <li>Ability to write custom Find Usages</li><br />
  <li>Ability to write plugins from MPS</li><br />
  <li>Logable refactoring language: it's possible to define refactorings which will be written to a log and replayed later</li><br />
  <li>Improved editor UI: inspector now behaves in a different way</li><br />
  <li>New example: language for complex numbers support</li><br />
</ul></p>]]>

</content>
</entry>
<entry>
<title>The first real life LOP application!</title>
<link rel="alternate" type="text/html" href="http://www.sergeydmitriev.com/mps/blog/archives/2008/03/the_first_real.html" />
<modified>2008-03-08T02:28:26Z</modified>
<issued>2008-03-08T01:43:57Z</issued>
<id>tag:www.sergeydmitriev.com,2008:/mps/blog/2.25</id>
<created>2008-03-08T01:43:57Z</created>
<summary type="text/plain">Today TeamCity project migrated to a new bug tracker system. TeamCity is an amazing product and Jolt finalist in Collaboration/Project Management tools categories, but it is not the point. This event is noteworthy because the bug tracking system the TeamCity...</summary>
<author>
<name>Igor Alshannikov</name>

<email>Igor.Alshannikov@jetbrains.com</email>
</author>

<content type="text/html" mode="escaped" xml:lang="en-us" xml:base="http://www.sergeydmitriev.com/mps/blog/">
<![CDATA[<p>Today <a href="http://www.jetbrains.com/teamcity/">TeamCity</a> project <a href="http://intellij.net/forums/thread.jspa?threadID=273480&tstart=15">migrated</a> to a new bug tracker system. TeamCity is an amazing product and <a href="http://www.joltawards.com/finalists.html">Jolt</a> finalist in Collaboration/Project Management tools categories, but it is not the point.</p>

<p>This event is noteworthy because the bug tracking system the TeamCity project has migrated to (codename Charisma) is a product which is completely developed in MPS.<br />
It is not a ‘Hello world’ kind. It is quite exquisite and capable web application which we have been using internally for a while and now it is <a href="http://jetbrains.net/tracker/">available</a> for external users.</p>

<p>Charisma is 100% developed using the language oriented approach and its deployment code is 100% generated. Really, it's the 200% <a href="http://en.wikipedia.org/wiki/Language_oriented_programming">LOP</a> application!:)</p>

<p>The Charisma solution includes about 50 model files of total size about 10MB. Concurrently, the Charisma team created dozens of DSLs which cover all required problem domains from general domains like XML to more narrow ones like RSS to most specific like ‘user management’.</p>

<p>The Charisma development has also generated a great deal of feedback which led to vast improvements of MPS performance, UI and ‘language design’ languages (aka bootstrap languages). MPS is becoming a really great tool!<br />
</p>]]>

</content>
</entry>
<entry>
<title>Keeping models in-sync</title>
<link rel="alternate" type="text/html" href="http://www.sergeydmitriev.com/mps/blog/archives/2007/11/models_synch.html" />
<modified>2007-11-03T02:42:30Z</modified>
<issued>2007-11-03T01:44:38Z</issued>
<id>tag:www.sergeydmitriev.com,2007:/mps/blog/2.24</id>
<created>2007-11-03T01:44:38Z</created>
<summary type="text/plain">Language-oriented enthusiasts who tried to design DSLs with previous version of MPS may have found that some of their languages don’t work well with MPS build 470 because models of those languages use concepts or features which became deprecated....</summary>
<author>
<name>Igor Alshannikov</name>

<email>Igor.Alshannikov@jetbrains.com</email>
</author>

<content type="text/html" mode="escaped" xml:lang="en-us" xml:base="http://www.sergeydmitriev.com/mps/blog/">
<![CDATA[<p>Language-oriented enthusiasts who tried to design DSLs with previous version of MPS may have found that some of their languages don’t work well with MPS build 470 because models of those languages use concepts or features which became deprecated. <br />
</p>]]>
<![CDATA[<p>To be more specific, there are significant changes in actions language and constraints language. </p>

<p>Frustrating, of course, but this problem is unavoidable. Over a language evolution, models written in this language become outdated.<br />
Actually, this happens constantly in our every day development. Our team develops various DSLs and solutions concurrently and it is just not possible to have all models updated after changes in their languages.</p>

<p>Fortunately, MPS supports scripts which can automate migration of models to new version of language.<br />
Language migration scripts are part of language definition and they are available in any context where the language has been used.<br />
 <br />
A couple of such scripts can be found in build 470. </p>

<p>To begin with, let’s open BaseConcept in jetbarins.mps.core language (open any project in MPS, press Ctrl-N and type ‘BasC’).</p>

<p><img alt="BaseConcept.PNG" src="http://www.sergeydmitriev.com/mps/blog/archives/BaseConcept.PNG" width="519" height="299" /></p>

<p>There is a set of concept properties with name starting with “deprecated”. To find what was deprecated in build 470, select ‘deprecated_next_after_415’ property and press Alt-F7 (search usages).</p>

<p><img alt="deprecated_usages.PNG" src="http://www.sergeydmitriev.com/mps/blog/archives/deprecated_usages.PNG" width="509" height="333" /></p>

<p>Double-click on selected node to open it in the editor.</p>

<p><img alt="ConceptRightTransformMenuPart_decl.PNG" src="http://www.sergeydmitriev.com/mps/blog/archives/ConceptRightTransformMenuPart_decl.PNG" width="742" height="370" /></p>

<p>Obviously, all usages of the deprecated ConceptRightTransformMenuPart concept should be rewritten using new ConceptRightTransformPart concept.</p>

<p>To find usages, first press Ctrl-W twice to make proper selection and then press Alt-F7.<br />
In my example project 'find usages' found one instance and few other usages.</p>

<p><img alt="deprecated_usages_2.PNG" src="http://www.sergeydmitriev.com/mps/blog/archives/deprecated_usages_2.PNG" width="571" height="261" /></p>

<p>First let’s open ‘instance’ in editor view: </p>

<p><img alt="ConceptRightTransformMenuPart_before.PNG" src="http://www.sergeydmitriev.com/mps/blog/archives/ConceptRightTransformMenuPart_before.PNG" width="656" height="177" /></p>

<p>When a concept is changed or replaced, we remove corresponding support in generator, typesystem etc. but keep its structure and editor to let old models to be opened without crashing. Editor is usually modified to warn of the obsolete feature usage.</p>

<p>One of the other usages is in script named ‘MigrateFrom415’. Let’s open it too.</p>

<p><img alt="script_edtor.PNG" src="http://www.sergeydmitriev.com/mps/blog/archives/script_edtor.PNG" width="1085" height="289" /></p>

<p>The model transformation is done in ‘do’ block. It is written in BaseLanguage (Java-like language) but Java here is almost not recognizable because of heavy usage of smodel language.<br />
The smodel language is BaseLanguage’s extension for manipulation with MPS models.</p>

<p>Now let’s run this script. This can be done from main menu or from model’s popup menu. Actually, I could do it just after MPS is started. All steps above are not necessary.</p>

<p><img alt="script_menu.PNG" src="http://www.sergeydmitriev.com/mps/blog/archives/script_menu.PNG" width="1044" height="310" /></p>

<p>Script will perform search usages and open refactoring view:</p>

<p><img alt="refactoring_view.PNG" src="http://www.sergeydmitriev.com/mps/blog/archives/refactoring_view.PNG" width="722" height="198" /></p>

<p>That gives us last opportunity to take a look at the models before they are transformed:</p>

<p><img alt="ConceptRightTransformMenuPart_before.PNG" src="http://www.sergeydmitriev.com/mps/blog/archives/ConceptRightTransformMenuPart_before.PNG" width="656" height="177" /></p>

<p>‘Do Refactor’ will update the model:</p>

<p><img alt="ConceptRightTransformMenuPart_after.PNG" src="http://www.sergeydmitriev.com/mps/blog/archives/ConceptRightTransformMenuPart_after.PNG" width="643" height="120" /><br />
</p>]]>
</content>
</entry>
<entry>
<title>New MPS build</title>
<link rel="alternate" type="text/html" href="http://www.sergeydmitriev.com/mps/blog/archives/2007/10/new_mps_build_1.html" />
<modified>2007-10-24T10:58:59Z</modified>
<issued>2007-10-24T10:54:54Z</issued>
<id>tag:www.sergeydmitriev.com,2007:/mps/blog/2.23</id>
<created>2007-10-24T10:54:54Z</created>
<summary type="text/plain">We have released a new MPS build. You can download it from here New features: MPS modules reference each other by their fqname rather than by path relative to a reference file Performance optimizations for large models meet and join...</summary>
<author>
<name>Konstantin Solomatov</name>

<email>kostik@jetbrains.com</email>
</author>

<content type="text/html" mode="escaped" xml:lang="en-us" xml:base="http://www.sergeydmitriev.com/mps/blog/">
<![CDATA[<p>We have released a new MPS build. You can download it from <a href="http://www.jetbrains.net/confluence/display/MPS/JetBrains+MPS+Download+Page">here</a></p>

<p>New features:<br />
<ul><br />
  <li>MPS modules reference each other by their fqname rather than by path relative to a reference file</li><br />
  <li>Performance optimizations for large models</li><br />
  <li>meet and join types in HELGINS</li><br />
</ul></p>]]>

</content>
</entry>
<entry>
<title>New MPS build</title>
<link rel="alternate" type="text/html" href="http://www.sergeydmitriev.com/mps/blog/archives/2007/05/new_mps_build.html" />
<modified>2007-05-14T14:23:14Z</modified>
<issued>2007-05-14T14:16:46Z</issued>
<id>tag:www.sergeydmitriev.com,2007:/mps/blog/2.22</id>
<created>2007-05-14T14:16:46Z</created>
<summary type="text/plain"> We released a new MPS build. You can download it from here Among the new features are: Language development is now possible almost without Java IDE. Only weaving rule context queries have to be written in Java New Helgins...</summary>
<author>
<name>Konstantin Solomatov</name>

<email>kostik@jetbrains.com</email>
</author>

<content type="text/html" mode="escaped" xml:lang="en-us" xml:base="http://www.sergeydmitriev.com/mps/blog/">
<![CDATA[<p>
We released a new MPS build. You can download it from <a href="http://www.jetbrains.net/confluence/display/MPS/JetBrains+MPS+Download+Page">here</a>
Among the new features are:
<ul>
  <li>Language development is now possible almost without Java IDE. Only weaving rule context queries have to be written in Java</li>
  <li>New Helgins typesystem. You can now write BaseLanguage code in helgins rules.</li>
  <li>New introduction to MPS. You can read it online <a href="http://www.sergeydmitriev.com/mps/doc/regexps.html">here</a> or open it from help menu in MPS.</li>
</ul>
</p>]]>

</content>
</entry>
<entry>
<title>sandals, massage, dsl, workout, mps, fitness, mini golf and .... much more</title>
<link rel="alternate" type="text/html" href="http://www.sergeydmitriev.com/mps/blog/archives/2007/01/sandals_massage.html" />
<modified>2007-01-17T01:30:26Z</modified>
<issued>2007-01-17T01:13:44Z</issued>
<id>tag:www.sergeydmitriev.com,2007:/mps/blog/2.21</id>
<created>2007-01-17T01:13:44Z</created>
<summary type="text/plain"> Probably, something about MPS in Neal Ford keynote on January 18 at CodeMash....</summary>
<author>
<name>Igor Alshannikov</name>

<email>Igor.Alshannikov@jetbrains.com</email>
</author>

<content type="text/html" mode="escaped" xml:lang="en-us" xml:base="http://www.sergeydmitriev.com/mps/blog/">
<![CDATA[<p><a href="http://www.codemash.org/"> <img src="http://www.codemash.org/includes/images/bloggerbadge.gif" alt="CodeMash – I&apos;ll be there!" /></a></p>

<p>Probably, something about MPS in <a href="http://www.nealford.com/">Neal Ford</a> keynote on January 18 at <a href="http://www.codemash.org/Agenda.aspx">CodeMash</a>.<br />
</p>]]>

</content>
</entry>
<entry>
<title>Article about Framework usage pattern in MPS</title>
<link rel="alternate" type="text/html" href="http://www.sergeydmitriev.com/mps/blog/archives/2007/01/article_about_f.html" />
<modified>2007-01-09T15:55:58Z</modified>
<issued>2007-01-09T15:53:04Z</issued>
<id>tag:www.sergeydmitriev.com,2007:/mps/blog/2.20</id>
<created>2007-01-09T15:53:04Z</created>
<summary type="text/plain">We wrote a new article about mps : http://www.sergeydmitriev.com/mps/doc/article/article.html...</summary>
<author>
<name>Konstantin Solomatov</name>

<email>kostik@jetbrains.com</email>
</author>

<content type="text/html" mode="escaped" xml:lang="en-us" xml:base="http://www.sergeydmitriev.com/mps/blog/">
<![CDATA[<p>We wrote a new article about mps : <a href="http://www.sergeydmitriev.com/mps/doc/article/article.html">http://www.sergeydmitriev.com/mps/doc/article/article.html</a><br />
</p>]]>

</content>
</entry>
<entry>
<title>External DSLs - easy</title>
<link rel="alternate" type="text/html" href="http://www.sergeydmitriev.com/mps/blog/archives/2006/12/external_dsls_-.html" />
<modified>2006-12-30T20:47:00Z</modified>
<issued>2006-12-30T20:39:41Z</issued>
<id>tag:www.sergeydmitriev.com,2006:/mps/blog/2.19</id>
<created>2006-12-30T20:39:41Z</created>
<summary type="text/plain">After Martin Fowler&apos;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&apos;t agree. First of...</summary>
<author>
<name>Igor Alshannikov</name>

<email>Igor.Alshannikov@jetbrains.com</email>
</author>

<content type="text/html" mode="escaped" xml:lang="en-us" xml:base="http://www.sergeydmitriev.com/mps/blog/">
<![CDATA[<p>After <a href="http://www.martinfowler.com/">Martin Fowler</a>'s recent <a href="http://www.infoq.com/presentations/domain-specific-languages">JAOO speech</a> some <a href="http://oozy.blogspot.com/2006/12/internal-vs-external-domain-specific.html">people</a> 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.<br />
I can't agree. <br />
First of all, mentioning of parsers is not relevant if we are talking about MPS. We don't use parsers technology.  <br />
Second, learning of new language is easy because of the tool support and because DSL expresses concepts of target domain better then GPL.<br />
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.</p>

<p>Happy New Year to everybody!</p>

<p><img alt="ChrFox.PNG" src="http://www.sergeydmitriev.com/mps/blog/archives/ChrFox.PNG" width="250" height="210" /><br />
</p>]]>

</content>
</entry>
<entry>
<title>web application in 14 minutes</title>
<link rel="alternate" type="text/html" href="http://www.sergeydmitriev.com/mps/blog/archives/2006/12/web_application.html" />
<modified>2006-12-20T16:56:17Z</modified>
<issued>2006-12-20T16:51:46Z</issued>
<id>tag:www.sergeydmitriev.com,2006:/mps/blog/2.18</id>
<created>2006-12-20T16:51:46Z</created>
<summary type="text/plain">Here is a demo where we create a web application from scratch in 14 minutes....</summary>
<author>
<name>Igor Alshannikov</name>

<email>Igor.Alshannikov@jetbrains.com</email>
</author>

<content type="text/html" mode="escaped" xml:lang="en-us" xml:base="http://www.sergeydmitriev.com/mps/blog/">
<![CDATA[<p>Here is a <a href="http://www.sergeydmitriev.com/mps/webr_demo_2/webr_demo_2.html">demo</a> where we create a web application from scratch in 14 minutes.<br />
</p>]]>

</content>
</entry>
<entry>
<title>90 minutes&apos; DSL challenge!</title>
<link rel="alternate" type="text/html" href="http://www.sergeydmitriev.com/mps/blog/archives/2006/12/90_minutes_dsl.html" />
<modified>2006-12-20T02:15:05Z</modified>
<issued>2006-12-20T02:09:53Z</issued>
<id>tag:www.sergeydmitriev.com,2006:/mps/blog/2.17</id>
<created>2006-12-20T02:09:53Z</created>
<summary type="text/plain">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...</summary>
<author>
<name>Igor Alshannikov</name>

<email>Igor.Alshannikov@jetbrains.com</email>
</author>

<content type="text/html" mode="escaped" xml:lang="en-us" xml:base="http://www.sergeydmitriev.com/mps/blog/">
<![CDATA[<p>That must be interesting. <br />
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 <a href="http://www.metacase.com/blogs/jpt/blogView?showComments=true&entry=3342772508">hands-on session</a>.</p>

<p>He will bring <a href="http://www.metacase.com/fs.asp?paa=products.html">MetaEdit</a> with him but everybody is invited to bring his/her own tool.<br />
I wonder if there is somebody out there who will bring <a href="http://www.jetbrains.com/mps/">MPS</a>.<br />
We can provide the latest build and 24/7 technical support:)<br />
</p>]]>

</content>
</entry>

</feed>