Take the 2-minute tour ×
Programmers Stack Exchange is a question and answer site for professional programmers interested in conceptual questions about software development. It's 100% free, no registration required.

With languages Python and Ruby still having a good foothold in the market what is Microsoft's current stance on dynamic languages?

Does Microsoft have any plans to incorporate or invent it's own dynamic language?

share|improve this question

closed as not a real question by Jim G., gnat, Jarrod Roberson, Thomas Owens Jun 16 '12 at 11:14

It's difficult to tell what is being asked here. This question is ambiguous, vague, incomplete, overly broad, or rhetorical and cannot be reasonably answered in its current form. For help clarifying this question so that it can be reopened, visit the help center.If this question can be reworded to fit the rules in the help center, please edit the question.

    
As a start, C# 4.0 does allow a little dynamic programming. –  Monster Truck Jun 16 '12 at 3:04
    
Thanks Monster Truck, could you please point me to some references with more material on C Sharp's dynamic capabilities? –  Ein Doofus Jun 16 '12 at 4:31
    
    
Thanks again Monster Truck :) –  Ein Doofus Jun 16 '12 at 5:02
1  
"Where does Microsoft currently stand on dynamic languages?", on their face? –  dan_waterworth Jun 16 '12 at 6:45
add comment

4 Answers

up vote 6 down vote accepted

Difficult to say for sure; even if a Microsoft team was behind IronRuby, Ruby was not necessarily a direct target. Microsoft has been known to throw money at experimental languages (M, Axum), even if they were only a (very) tentative part of their strategy.

When they integrated the DLR into the framework, they chose to immediately have the core languages (C# and VB.NET) leverage a lot of what the DLR can do, which took a big bite out of the market where the Iron* dynamic languages would have been - there was a lot of competition there anyway. On top of that, 3rd party dynamic languages (like Cobra) started to show up, to crowd the scripting gap even more. Since it's relatively easy to build a new compiler from some language to CIL, this area is really volatile.

There is speculation about a "DLR2" in a future version of .NET, supporting compiler-as-a-service and better scripting hosts, which means they're probably aiming to have even better integration between scripted code and host code.

All these lead me to believe that pure dynamic languages will remain 2nd class citizens on the .NET framework for a while. They will give you a better C#, and the option to glue whatever crazy language you can fit inside an assembly to your solution, plus out-of-the-box support for JS, Ruby and Python in Silverlight and Windows Runtime, but I think that's about it, there's little reason to back a dynamic language completely with so much action and volatility in this area.

Another interesting tidbit is the whole Java/Groovy thing. Someone asked here if there's an equivalent to C# for Groovy, and the answerers somehow missed the point with IronPython, Boo and IronRuby, because Groovy is (almost) a superset of Java (while these may at most generate clean C#). What Microsoft plans to do here is a good question for me (bring C# near Groovy? Create a C# superset?). Whatever they will do, I don't think it will be very soon or very enthusiastic though, because Groovy/Grails showed modest adoption rates with the more conservative Java community - even though a superset has better footing with the community than a new language.

share|improve this answer
add comment

Microsoft has a fine Javascript engine. Within WinRT Javascript will be a first-class citizen next to C++ and .NET.

And then there also is PowerShell which is a new dynamic language at a central position within Windows.

share|improve this answer
add comment

Microsoft used to have IronRuby, but that was discontinued around 2010. IronPython also exists and is still being developed (though not by Microsoft). Both of these languages run on the .NET framework.

share|improve this answer
add comment

Microsoft has the power of .NET . But there are more better languages then this (according to me) like python, ruby. The .NET has a great demand in the market as it is easy to hide the code. Further, it also provides good licenses that can earn you a lot of money. But the other languages like python or ruby are originally meant for open-source development.

share|improve this answer
add comment

Not the answer you're looking for? Browse other questions tagged or ask your own question.