ASP.NET MVC to Ruby on Rails - a possible move?

I’ve been working in Ruby (on Rails) some for the last couple of weeks. I’ve enjoyed it immensely for the most part. I like the power of the command line. How quickly some things work. Some things – like setup and deployment on Ubuntu – have been a bit daunting for me, but once there and working it’s, well, there and working – and with a lot less resources than IIS7 and Windows Server.

It’s hard to describe the shift. Is Ruby better? Easier? More efficient? Quicker development?

Rob Connery said it this way: http://wekeroad.tumblr.com/post/814375320/when-code-isnt-enough

All in all, the app is the end result, not what language it was written in. As long as it works well, meets the needs, and can be maintained it doesn’t matter if it was written in C#, BASIC, Ruby, Java, Python, etc. The idea has to be the champion. The question is how quickly can the idea become reality. I think RoR has some power and advantage here. The tooling is a lot different than most C# developers will be used to, but once you get a handle on the tooling the power is evident.

So far the only ones who have really said that language matters is Apple in the iPhone developer agreement. And I still think they are wrong too. (I get they want you to use their API and more power to them for that, but naming the languages you have to code in is a bit extreme.)

Anyway, just a thought out there. I’m not giving up ASP.NET MVC and C# too much out there already and I do like the framework and love the C# language. I like the backing of the .NET Framework. But I am leaning more on Ruby on Rails now. You don’t have to abandon one to have the other.

Anybody else out there switched from ASP.NET MVC to RoR? Anyone switched from RoR to ASP.NET MVC?

Direction, Not Perfection

I was reading through some old emails today and I came across one from October of 2009 from David Allen of Getting Things Done (GTD). He had a “food for thought” entitled “Direction, not perfection.”

While perfection is an ideal goal it is often very difficult – if not impossible – to achieve. Perfection would be nice with code, children, philosophy, behavior, LIFE, etc. But sometimes I give up if I know it won’t be perfect. I stop in my tracks when I hit that first bump and sometimes I stop because I’m just thinking about the bumps.

I remember in elementary school I ran hurdles for a while during the track and field section of PE. I remember enjoying it. Looking forward to it even. Then I fell on the next-to-last hurdle one day. I didn’t like the hurdles much after that. I didn’t run them with the same speed and lack of hesitation that I did before. I remembered how bad the fall felt. I didn’t want to risk it again. But I also wasn’t perfect anymore and that was a big reason I stopped. I can think of other things I’ve given up on when I lost the impression I was “perfect” (I’ve never really been perfect at anything, but you already knew that).

I’ve learned more about the familiar “get back on the horse” since elementary school, but I still haven’t made it to perfection. I’ve learned to learn from failures. To embrace and cherish successes (and learn from them too, of course).

But recently I’ve been thinking more about “moving” and “doing” instead of “thinking” “planning” and “deciding” and David’s thoughts encourage that.

Heck, if I were going for perfection I wouldn’t be writing this blog now would I? I’d have it designed first (not using the default template it is as of July 2, 2010). I’d have more thought through editorial (ha!) schedule and I’d probably proofread and review my writing more.  But I’m going in a direction.

I’m not going in half cocked and winging it. That’s not what I mean at all. I think it can be summed up like this: There are consequences to our actions, but there are also consequences to our inactions. There will be more on that later.