Specifically IronPython and IronRuby.
Consider this …
A first class language is deployed when the full .NET framework is installed. 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.
Most of all, a first class language doesn’t require justification to higher powers. A first class language is pre-certified and stamped with a seal of approval. It’s as easy to use in the locked-down big corporate setting as the company paper shredder.
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.
Perhaps Microsoft is just hedging their bets, but it’s clear that that dynamic languages aren’t high on the priority list. Maybe they’ll be first class citizens one day, but many developers are tired of waiting.
P.S. Is Managed JScript dead?
Comments
I don't think that the .net language needs a port of an existing dynamic language as this seems lose-lose to me.
I'd rather see a language specifically tailored to the .net Framework. Of course, inspired by many other dynamic language - pretty much like C# and F# which are new languages, but with clear inspirations. It also allows the language designers to be independent.
When I think about .net dynamic languages I don't think about Iron* or Phalanger (that PHP port), but for some reason I think of Boo first (possibly because of Ayende).
I have exactly 0 experience with it (never had the need), but it seems independent and built for .net, which automatically ranks it higher in my book.
Of course, the Killer argument is always "But you can bring in Ruby/Python programmers without expensive transition periods!", but I don't think that holds up: They have to learn the .net Framework anyway. I feel that it would be easier to learn a new language (as there will be similarities that should make it easy) than to learn how the current dialect of a language is different than what all other people use.
2. I'd rather have IronPython an out-of-band product (frequent updates, no need to wait for .NET xxx etc.), with Visual Studio integration included.
P.S. +100 for Managed JScript.
But you would have to be stupid to think that they are going to give it even a fraction of attention that Azure is getting. Their entire business model is now based on Azure being a success. Not just servers and cloud computing, they are betting everything down to the smallest mobile device on this grand unified vision.
Part of that vision is running all the dynamic languages on the Azure platform. That means the real versions of Ruby, Python, and PHP.
That said, Microsoft has to take the Iron-languages seriously. Important product lines like Microsoft Dynamics are taking dependencies on IronPython. But that means getting the runtime right, not the nice-to-haves like an IDE.
http://www.orbifold.net/default/?page_id=2225
I didn't think we needed C# 8 years ago. I thought C++ gave us everything we needed.
Also, the biggest advantage of something like IPython or IRuby is as a migration strategy away from the microsoft stack. The zero cost interop with existing code and infrastructure is probably the number 1 reason to use one of these languages on either the CLR or the JVM, but if you are working with IronRuby on Rails, that probably means you aren't using Windows Authentication or ActiveDirectory, and it really isn't that much of a jump to hop over to mono on linux. While DevDiv is definately filled with people who are passionate about technology, they still need to justify the things they work on as business decisions.
I'm hoping it's not a lack of commitment but rather a lack of new info to be shared with the masses.
For one I want Iron Python/Ruby to be able to use whole .NET stack (BCL+). Good luck trying to find decent SOAP client for Python.
In a way embedded scripting represents a threat to the many MS consulting partners in that if I have something that is configurable I less need to keep a full team of consultants around to implement changes. I have to have someone use Studio to compile and re-deploy.
I've taken to using Notepad++ for IronPython development. A traditional IDE, such as Visual Studio, may be overkill for most dynamic languages. But I agree with you that MS should fully embrace the DLR languages and make VS.NET the primary development environment for these languages.