Blogs

RedMonk

Skip to content

Dynamic Languages and IDEs: What’s the Market?

It’s really great to see Sun embracing modern scripting languages. There is definitely a need for smarter IDE integration.” – Ryan Paul, Ars Technica

For those of you that missed the news, Sun’s Ted Leung recently announced that an upcoming version of NetBeans would be supporting the Python language. As he put it, “Netbeans has really nice support for Ruby and Javascript, so why should Python be left out?” Indeed. Python support, after all, makes DJango developers and Google App Engine users both a targetable audience for the platform. Which is good.

The trend to add dynamic language support to IDEs is, of course, nothing new. Nor unique to NetBeans; here‘s a piece written in January of ’06 about using Ruby within Eclipse. Virtually every major IDE of consequence, from Eclipse to Microsoft to NetBeans has understood for years now that dynamic languages are not the first choice, but the only choice for large swaths of their target audience. The days of single language IDEs are likely, for all intents and purposes, over.

Nor is that realization a one sided conclusion unique to the IDE projects; language developers and advocates alike have been, for their part, hastening to take advantage of both the technology that the IDEs have assembled and the audiences that consume it. Witness Zend’s efforts to bring PHP to the Eclipse community via the PDT project.

Because it’s logical for both platforms and languages, then, there can be one outcome: IDEs IDEs will be only more capable platforms for dynamic language development going forward. To conclude otherwise would be to ignore both recent history and the behaviors driving same.

But just because the IDEs add functionality doesn’t mean developers will choose to use it.

While I’m not sure if it’s still true, as it once was, that the entire Rails committer team is using TextMate – a text editor – the lesson stands: many dynamic language developers prefer the simplicity of a text editor. One might conclude from this that it’s been an absence of choice: the IDEs, after all, have only added dynamic language support over the past few years. And it’s certainly possible that that is more than a mere contributing factor to the relative unpopularity of IDEs with dynamic language development communities.

But the availability of IDEs supporting dynamic language development is not a new phenomenon. Tools such as ActiveState’s Komodo IDE have been available to interested parties for some years now. The fact is that IDEs are likely to be intrinsically less compelling to dynamic language developers. It’s not that they’re not necessary, nor that they don’t or cannot improve on the development experience. It’s more that as PHP, Python and Ruby are simpler to develop in than, say, Java, the drivers for IDE usage are fewer.

That said, dynamic language IDEs have found both fans and markets.

It’s the size of those markets, in relative terms, that I’m interested in. The overwhelming majority of dynamic language developers I speak with do not use IDEs. The reasons are varied: some are wedded to a particular text editor, others don’t wish to make the functionality for weight/complexity trade-off, and still others have adapted their own workflow such that an IDE adds little. Many of the above have trialed at one time or another the available dynamic language IDEs, only to return to their text editor of choice.

Again, the decision to make traditional IDEs more language heterogeneous generally and more dynamic language friendly specifically is not in question: it will be table stakes soon, assuming that it’s not already. But I do wonder how much success IDEs will have in markets currently dominated by text editors, and what the metrics for success will look like for IDE advocates and purveyors.

Disclaimer: Eclipse, Microsoft, Sun and Zend are RedMonk customers, while ActiveState (Komodo) and MacroMates (TextMate) are not.

Categories: Application Development.

Tags: , , , , ,

  • webscale

    Is sun any relevant now:
    – 7.5 Billion in Market cap (6 year low)
    – J2ME becoming irrelevant after android and iphone
    – People like Amazon coming into the market and taking the bottom slice (startups) of the computing market and the top slice already taken by IBM and HP.
    – a stubborn approach to software products Openoffice? Netbeans ?
    – A Glashfish app server that I have been hearing about for the last 3 years.

    My guess is that SUN is will spit and bought out by different parties (Oracle might buy its software business and HP its hardware business). I am sure Don is making that deal come through in HP

  • Stomfi

    I like to use an IDE that no one ever seems to talk about.

    It is the cross platform IDE called Runtime Revolution that I run on Linux (or MAC or Windows if I used them) because I can use the extremely simple runrev Transcript language for mouse and other events, and from each event script launch any other program or foreign script than will return results directly to a runrev variable or field, or pop the results into a file that runrev can use for further processing down the line.

    Runtime Revolution builds a runtime with the embedded runtime engine making a program of about 2MB. One only needs one runtime if the primary stack is a menu. All other application stacks can be stand alone or linked and amount to very little space on the hard drive.

    It is the only easy to use IDE that I have discovered that can embed UNIX/Linux shell commands, which I find the easiest way of performing complex information processing on the fly. If the commands are written as scripts instead of directly embedding them, there is no need to rebuild the runtime if changes have to be made to the processing.

    Runtimes are license free, meaning the creator can charge or give them away for free.

    A visit to Runtime Revolution will show the potential user that it will do anything the others do, without the overhead of learning a formal programming language.
    In fact Transcript is so cognitive, using it is often called “Programming at the speed of thought”, something only previously possible to non programmers via the various UNIX/Linux shells and their tools.

    I’d like to see RedMonk do an article on this IDE for the benefit of ordinary power users.

  • Paul Ford

    I don’t see it as an either-or situation when it comes to the IDE/text editor split. I prefer working in a text editor for most everything. But I find myself using NetBeans when I’m coding in lesser-known territory–for me, this includes JavaScript, and I’ve been loving the new JavaScript support NetBeans offers, in particular the context-driven pop-up documentation. It is very detailed, and very useful, for someone who does not understand all the subtleties of that language. Between that and FireBug I feel almost competent.

    The competition for a large IDE is not the text editor itself as much as “the text editor combined with Google searching.” I.e. it’s not keystrokes that matter as much as context–if an IDE can offer me greater speed and a more thorough understanding of my own code than a text editor/Google search combination, it should be win handily. NetBeans does this with Java

    One thing that might help would be large libraries of easily accessible sample code (i.e. Java Almanac or JavaScript Cookbook-style materials) baked into a product–a few thousand code snippets organized by theme that I could borrow and adapt.

  • Pingback: Boycott Novell » IRC: #boycottnovell @ FreeNode: July 11th, 2008

  • Andrey

    As far as I understand Paul Ford, the most valuable IDE functions are like “go to declaration” and “find references”. I agree.

    These very functions are hard to provide for dynamic languages where modules being included may depend on runtime values and so on.

    IDEs do not do this kind of stuff well even for statically typed languages. For example, for a method of a base class, the basic “go to function body from a function cal” normally leads to the base class method, even when it is abstract. I do not know a single IDE that would do anything useful, like offer a list of possible overrides.

    Thus, IDEs should improve to become a must have for dynamic language developpers.

  • John Fabiani

    I use an IDE daily (wing) and I use python so I look forward to seeing something that will support python. But I wonder if someone like SUN will do it right. Will it support debugging of lib’s like wxPython and similar lib’s.

  • Pingback: IDE’s and Dynamic Languages at Ted Leung on the Air