Microsoft and Ruby
Martin Fowler recently added an interesting atticle to his Bliki on Ruby and Microsoft. More interesting than the details of IronRuby (which were mentioned only briefly) was the feeling that there is a fundamental disconnect between the directions that Microsoft and most "Alpha Geeks" are taking.
It is a shame that Microsoft is doing so much really interesting technical work but is (from a business perspective quite naturally) tying it to a stack that is increasingly unattractive to a lot of developers.
Thoughts?





Regarless, while I recognize I haven't seen all of the spheres of the software business, I would say I've seen a variety in my travels. Of those, I've seen a lot of .NET. While some of the alpha geeks may not see it as attractive, .NET works. Furthermore, every single Flash Developer (not Flex) has nothing but rave reviews of C# the language. Finally, a lot of developers do software as a job, not as a way of life like some of us.
Maybe it's not cool, but it's certainly not going away. 40% of any of the consulting/contracting gigs I get have .NET involved in some form, and some of the people involved really dig it. As a client developer, I have no stake, however. Point me to a URL, and I'm golden. The key, to me, is HOW LONG it takes you to give me that URL.
The bigger issue I have personally is that I've decided I need to be able to host on Linux and so I can't afford a MS dependent language like C#.
Microsoft has a lot of life left, they have a bunch of extremely smart people and it is going to be interesting to see where Ray Ozzie takes things. But I still think Martin Fowlers piece captures an issue Microsoft will have to address in the long run.
As for how fast you get the URL, that's more a matter of scripting over statically typed languages. IronPython on the CLR or Groovy (or better still, ColdFusion :->) on the JVM is gonna get you the URL much quicker than C# or Java.
This is an interesting comment, since C# and the CLI have been standardized by the ECMA, unlike almost any alternative (Java, Python, Ruby, ColdFusion, etc.):
http://www.ecma-international.org/publications/sta...
Have you looked at Mono for running C# on Linux?
http://www.mono-project.com/Main_Page
You should also look at SharpDevelop:
http://www.icsharpcode.net/OpenSource/SD/
Given the history of Mono and Microsoft, what I'm looking for is a written guarantee from Microsoft that they will do whatever it takes to ensure that all future versions of .NET will launch on both Windows and Linux at the same time with the exact same functionality. I'm not holding my breath . . .
Mono is a Novell project and at one time Microsoft was treating it as "unsupported reverse engineering of their IP". It still hasn't reached 2.0 and who knows when it'll support new features like LINQ - it just isn't in the ballpark.
Also, fundamentally I don't think Microsoft has a compelling reason to make the hosting OS irrelevant (which is my requirement) as I can't see that would help them to maximize their shareholder value given their current core revenue sources - it just wouldn't make business sense.
If I'm missing anything, just let me know! I don't dislike Microsoft, but neither do I want to be tied to their stack.
Microsoft has never said they were going to create an implementation of .NET for Linux, so I'm not sure "demanding" that they do so now is reasonable. However, I don't expect them to interfere with Mono.
I was at Microsoft two weeks ago at their annual CLR Compiler Lab, where the major topics were the Dynamic Language Runtime (DLR) and Silverlight. Also there--at Microsoft's invitation--was Miguel de Icaza, the creator of Mono. You should read what Miguel has to say about this on his blog:
http://tirania.org/blog/archive/2007/May-22.html
http://tirania.org/blog/archive/2007/May-23.html
Miguel was also at MIX'07, and his comments regarding Microsoft and open source make interesting reading:
"The major upside of this show has been how open the Microsoft folks have been open to discuss technicalities of any sorts.
"I had the chance of participating on an open source panel at the conference and PHP, Mozilla, SubSonic.NET and Mono were well represented and I did not fell any angry mood from anyone.
There is also a surprising amount of talk about using the MsPL license, again, all good news."
Here's his full blog entry:
http://tirania.org/blog/archive/2007/May-01.html
I'm not sure I would dismiss using C# on Mono so quickly.
However lately I have been working with groups trying to scale their applications and create a low-cost environment to get their tools out there and used.
I have been using EC2 and S3 to provide the backbone for this. My options are a LAMP stack or a Ruby / MySQL / Linux stack....which I am fine with and will be running with.
When are they going to change their tune and stop being a bottleneck. I would continue using Windows 2003 server because it works for me if I didn't hit the licensing bottleneck.
@Kin, Not sure what the licensing bottleneck is. While I do like the modest cost savings of using an OSS stack, I just find the Unix tools still scale better and are cheaper to secure (it isn't as much of a difference, but I still find it noticeable). That said, I guess depending on the kind of license and number of licenses required it could be an issue. If upfront costs are a problem, consider getting an SPLA license - that is what we use as hosters and it works quite well for our Windows machines.