As some may have noticed, I have taken a liking to Ruby (and Rails in particular) quite a bit recently. This last weekend I spoke at the NYC Code Camp on a comparison of ASP.NET and Rails as well as an intro to Entity Framework talk. I am speaking at RubyNation in April and have submitted to other ruby conferences around the area and I am also doing a Rails and MongoDB talk at the Philly Code Camp in April. Before you start to think this is my "I'm leaving .NET post", which it isn't so I need to clarify.
I am not, nor do I intend to any time in the near future plan on abandoning .NET. I am simply branching out into another community based on a development technology that I very much enjoy. If you look at my twitter bio, you will see that I am into Entity Framework, Ruby on Rails, C++ and ASP.NET MVC, and not necessarily in that order. I know you're probably thinking to your self that I am crazy, which is probably true on several levels (especially the C++ part). I was actually crazy enough at the NYC Code Camp to show up wearing a Linux t-shirt, presenting with my MacBook Pro on Entity Framework, ASP.NET MVC and Rails. (I did get pelted in the head with candy by Rachel Appel for it though)
At all of the code camps I am submitting to this year, i will be submitting sessions on likely all four topics, and some sessions will be a combination of 2 or more. For example, my "ASP.NET MVC: A Gateway To Rails?" talk touches ASP.NET MVC, Entity Framework Code First and Rails.
Simply put (and I talk about this in my MVC & Rails talk) is that learning and using Rails has made me a better ASP.NET MVC developer.
Just one example of this is helper methods. When I started working with ASP.NET MVC, I didn't really want to use helpers and preferred to just use standard html tags, especially where links were concerned. It was just me being stubborn and not really seeing all of the benefit of the helpers. To my defense, coming from WebForms, I wanted to be as bare metal as possible and it seemed at first like a lot of the helpers were an unnecessary abstraction.
I took my first look at Rails back in v1 and didn't spend very much time with it so I dismissed it and went on my merry ASP.NET WebForms way. Then I picked up ASP.NET MVC and grasped the MVC pattern itself much better. After this, I took another look at Rails and everything made sense. I decided then to learn Rails. (I think it is important for developers to learn new languages and platforms regularly so it was a natural progression for me)
I wanted to learn it the right way, so when I dug into code, everyone used helpers everywhere for pretty much everything possible. I took some time to dig in and found out how helpful they were and subsequently realized how awesome they were in ASP.NET MVC also and started using them.
In short, I love Rails (and Ruby in general). I also love ASP.NET MVC and Entity Framework and yes I still love C++. I have varying degrees of love for them individually at any given moment and it is likely to shift based on the current project I am working on. I know you're thinking it so before you ask the question. "Which do I use when?", I'm going to give the standard developer answer of: It depends. There are a lot of factors that I am not going to even go into that would go into a decision. The most basic question I would ask though is, does this project depend on .NET? If it does, then I'd say that ASP.NET MVC is probably going to be the more logical choice and I am going to leave it at that. I am working on projects right now in both technologies and I don't see that changing anytime soon (one project even uses both).
With all that being said, you'll find me at code camps, conferences and user groups presenting on .NET, Ruby or both, writing about .NET and Ruby and I will likely be blogging on both in the future. I know of others that have successfully branched out to other communities and with any luck I'll be successful at it too.
On a (sorta) side note, I read a post by Justin Etheredge the other day that pretty much sums up my feelings about Ruby as a language. I highly recommend checking it out: What Is So Great About Ruby?