Archive

Archive for the ‘Ruby’ Category

The Functional Future of C#?

May 23rd, 2007
Comments Off

Steve Maine wonders about the uptake of new features in C# 3.0 that could allow certain more Ruby-like constructs.

I absolutely think people will take advantage of the new functional and dynamic features available in C#. However, I don’t think we’ll see the same fevered enthusiasm surrounding these features as one sees in the Ruby community. C# carries with it the baggage of its past, including styles, idioms, practices, and methodologies, many of which speak against the dangers brought on by features like extension methods. New languages, on the other hand, bring not only their new features, but also freedom from historical baggage and traditional strictures. The vast majority of programmers first saw Ruby in the light of Rails, so there was no change for anyone to resist.

In the case of .NET, I think we may see the most radical uses of new CLR features gain popular acceptance in languages other than C#. In particular, I’m thinking of the recent example of the DLR console showing the willy nilly mixing of dynamic languages. That level of interoperation will make it very appealing to segregate sections of code by style — style which will be indicated and supported by language choice. In this manner, initial exploitation of functional constructs and looser typing can happen in languages that breath that stuff, and the techniques that prove most popular will likely filter into common C# usage more slowly.

Anthony .NET, Programming, Ruby

Don’t Stop Believin’

October 26th, 2006
Comments Off

Don Box’s post earlier today about Ruby 2.0’s lack of support for continuations surprised me, but Patrick Logan came to the rescue with the post that needed to be made.

For myself, I really am somewhat shocked that Ruby is losing these features. While JVM and CLR implementations seem to be some of the hottest issues in Ruby-land at the moment, one’s enthusiasm must be dampened when Ruby features are abandoned in part to achieve those lofty goals of interoperability. This feels more like the kind of announcement that would be followed with an unofficial subtext of, “So why not just use C#?” But this isn’t coming from Microsoft, it’s coming straight from Matz.

My feeling iswas this: Ruby has helped push the importance of closures, the next step is continuations. So much for that. I’m guessing we’ll all end up spending a lot of time writing custom libraries for packaging up program state to ship among processors like the Second Life guys have had to do. Irrational optimism: Ruby 2.1 will bring continuations back because the CLR and JVM will have them by that time!

Anthony Microsoft, Programming, Ruby