Domain specific programming experience

The discussion on the last post suggested Domain Specific IDEs as a possible way forward. By restricting the domain (e.g. games) the IDE might gain enough semantic insight into the program to properly support advanced interaction designs like live code execution and direct manipulation of results. Well here is a perfect example: the Iguana Translator. These guys have done a great job building an advanced programming experience for the domain specific problem of mapping between data formats. I love seeing new ideas deployed out on the front lines of programming. Hats off to iNTERFACEWARE.

This entry was posted in General. Bookmark the permalink. Both comments and trackbacks are currently closed.


  1. Mariano Montone
    Posted May 8, 2012 at 10:15 am | Permalink

    Maybe you should also look at this:

    • Posted May 8, 2012 at 3:56 pm | Permalink

      Perhaps MPS can be used to build new programming experiences, but I see its main goal as generating the standard Eclipse-like IDE experience for custom languages.

      • John "Z-Bo" Zabroski
        Posted May 14, 2012 at 9:36 pm | Permalink

        MPS can call me when it can build Scala or Haskell from the ground up.

  2. Erez
    Posted May 16, 2012 at 11:08 am | Permalink

    Can’t we just have domain specific plugins?

    • Posted May 17, 2012 at 2:41 pm | Permalink

      Domain-specific plugins seem great to me, but they often have a much smaller degree of useful integration that built-in features. This is probably because many plugin systems don’t make cross-plugin integration very easy, and it requires solving the problem of graceful degradation in the event that P can integrate with Q, but Q is not installed. Ideally, plugin systems could improve to make these things easier, but if you had a domain in mind for which you had a number of integratable plugins, you could always just combine the plugins into one larger plugin, as long as you had access to all the plugins’ source code.

  • Subscribe to Blog via Email

    Enter your email address to subscribe to this blog and receive notifications of new posts by email.