h1

When visionaries are too much in advance.

May 15, 2007

There’s a company out there that always surprised me for always being in advance next to its competitors. This company is JetBrains (and no I do not work for JetBrains nor do I have stock options in it). But sometimes seeing in the future doesn’t always pay (in term of $!). Indeed maybe you remember back in 2004 Sergey Dmitriev, the cofounder and CEO of JetBrains Inc., published a paper about Language Oriented Programming: The Next Programming Paradigm.

Rather than solving problems in general-purpose programming languages, the programmer creates one or more domain-specific programming languages for the problem first, and solves the problem in those languages.

I remember reading that paper when it came out and finding it really promising and avantgardist, I thought it would be the future. Soon after I gave a try to MPS EAP version. Martin Fowler found it promising as well in 2005:

Although I’m not enough of a prognosticator to say whether they will succeed in their ambition, I do think that these tools are some of the most interesting things on the horizon of software development.

The old debates were already starting… Unfortunately, years passed and MPS became a commercial failure, and has been like discontinued since then. Nowadays everybody and his dog talk about DSL, maybe that’s the reason why it appears again on JetBrains website. Sergey had only 2 years in advance with his development software solution. People always complain about late delivery of their software, JetBrains is the only company delivering your software and features before you ever needed it!

Advertisements

2 comments

  1. Nice posting about being too early. However, the idea of Language Oriented Programming, Language Workbenches, Domain-Specific approaches is much older. Many companies have built and applied domain-specific (textual/graphical) modeling languages for decades. See cases here (http://www.dsmforum.org/cases.html) and here (http://www.metacase.com/cases/) as well as language examples here (http://www.metacase.com/cases/dsm_examples.html). We started to organize workshops on domain-specific visual languages and domain-specific modeling at OOPSLA 2001 (and Sergey joined us too in 2003). All the proceedings and papers from about 200 authors are available online from here (http://www.dsmforum.org/DSMworkshops.html).

    I don’t know if they are too early visionaries but it is true that many developers want to continue the current practices and use the language they once learned forever. Fortunately there are also developers that seek to push the level of abstraction higher – otherwise we would still be programming in binary. Today, companies that can define domain-specific languages and generators get substantial gain over competitors. For example the mobile phone manufacturer Nokia claims that by raising the level of abstraction they are now able to produce phone software 10 times faster than with earlier manual coding practices.


  2. Hi Juha-Pekka,
    Thanks for your comment!
    I know the “concepts and ideas” have nothing new and that DSL has been existing for long (notably in telecoms, or those makefile…). The fact is that even if the papers exist it is rare to find a complete robust commercial solution available applying those concepts that at the end revealed to be delivered 2 years early (and could be shipping today as is, with nearly 0 change).
    By the way interesting blog of yours, especially http://www.metacase.com/blogs/jpt/blogView?showComments=true&entry=3349700732



Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

%d bloggers like this: