Does Microsoft Take Dynamic Languages Seriously?

Software developer K. Scott Allen in a blog post questions Microsoft's commitment to dynamic languages. At issue is whether Microsoft's IronPython and IronRuby are first-class citizens in .NET land.

Is Microsoft serious about dynamic languages?

That is a question that software developer K. Scott Allen asked on his OdeToCode blog in a Nov. 23 post.

Specifically, Allen questioned Microsoft's commitment to its IronPython and IronRuby implementations of the Python and Ruby dynamic languages, saying he does not see them as first-class citizens in the Microsoft portfolio of languages.

"A first-class language is deployed when the full .NET framework is installed," Allen said. "It's as easy to find as csc.exe. It's not a language you have to ask the IT department to install separately. It's not a language that requires you to jump out of Visual Studio to edit or run."

Moreover, said Allen:

""Consider this ...??Ç IronPython got underway in July of 2004. Five years later it appears IronPython is still not a candidate to be a first class language in the .NET framework and tools. You can vote on this issue.??Ç Microsoft first released IronRuby at Mix in 2007. Nearly three years later it appears IronRuby is still not a candidate to be a first class language in the .NET framework and tools. You can vote on this issue.""

Allen's post does make one wonder about a bunch of things, such as what is going on with Jim Hugunin, the creator of IronPython, who has been really quiet of late other than making this post.

And John Lam, who Microsoft hired to head up the project that became IronRuby, announced in a recent blog post that he was passing the IronRuby torch to Jimmy Schemeti and is in the midst of building a new team to pursue "a fantastic new project." Not that this move means there will be any diminution of interest in the IronRuby project at Microsoft. Indeed, Lam said he is leaving the project in Schementi's "capable hands" and that the "IronRuby project is still going strong."

Meanwhile, Allen said:

""I was depressed when I read the session list from Microsoft's recent Professional Developers Conference. If you browse the session list you'll find hundreds of sessions covering cloud computing, SharePoint, Silverlight, SQL Server, and modeling. There are a handful of sessions covering concurrency, and a few dedicated to C++."There is exactly one session featuring the Dynamic Language Runtime in a significant fashion. The title is Using Dynamic Languages to Build Scriptable Applications. You can learn how to augment an existing application after you've done all the real work in a first class language.""

However, in an interview with eWEEK at PDC, S. "Soma" Somasegar, senior vice president of Microsoft's Developer Division, said, "When it comes time to think about what languages are used externally, C++ is broadly used, as are C# and VB. Those are the top three that we think about in terms of usage share. But the languages that I think about that are dominant in terms of growing interest are the scripting languages, such as JavaScript or Python, for example. Or pick your favorite scripting language. You can think about them as dynamic languages or scripting languages, but I think there is a growing popularity."

Lam gave a talk on dynamic languages and .NET at Microsoft's TechEd North America conference in Los Angeles in May. Of his talk, Lam said, "I showed how you can add Ruby and Python scripting to an existing app, and spent some time building some simple REPLs. Toward the end of the talk, I showed a more realistic scenario where I embed a REPL in an existing Open Source .NET application: Witty."