Ruby vs. C# - at the Dallas C# SIG

I attended the Dallas C# SIG meeting last night featuring Adam Keys on Ruby and Jef Newsom on C#.  Adam started the evening off with an overview of Ruby philosophy, covering the fundamental design principals behind the language, a bit about how the language works, and a lot on why he really likes Ruby.  I've not spent a lot of time with Ruby, but I can see why a lot of people are so interested.  When he described the "principle of least surprise" and "making things simpler for developers by helping them write less code", you could see heads nodding all around the room.  Adam then went into a Ruby Deep Dive, showing all parts of the language and mapping everything back nicely to the points he made in the first part.  After he was finished, they switched over to Jef who took several of the Ruby code samples Adam had used and showed some equivalent ways to accomplish the same things in C# 3.0.  Not everything mapped over to C# exactly, and there are definitely some syntax differences, but the highlights Jef showed to the crowd were the new initializer model, Lambda expressions, the "yield return" statement, extension methods and iterators.  Since the C# group was already (mostly) familiar with the new C# features, so Jef was mainly showing the "coding equivalents" between Ruby and C#.

Feedback from the session was really good - I hope to see more of these types of events.  What would be really cool next time is to have a side-by-side coding effort where they each try to out geek each other :-)   I can hear the Spaghetti Western music and see the tumbleweeds right now...