One of the first steps in any sort of application development is usually deciding on what platform to use for the application. This usually includes deciding on a development platform (.NET, J2EE, LAMP, etc) and then deciding back-end database (SQL, Oracle, etc) and finally what kind of operating system your application will run on (2k3, XP, Linux, etc). (This process differs greatly depending on whether you are creating a client vs. server application)
From the beginning I thought it was a forgone conclusion that I would use ASP.NET, SQL Server, and Win 2k3 for my upcoming product as these are my "bread and butter"... but then I ran across a couple articles on Ruby on Rails and was instantly intrigued. Ruby is an object oriented language that alot of industry heavy weights love (Fowler, etc) and Rails is a web development framework that allows you to quickly and easily create web applications using Ruby.
As with most things of this nature I was pretty skeptical. Ruby sounds very cool, but I wasn't so sure about Rails... so I did a little research. I read through Rolling with Ruby on Rails Pt.1 and Pt.2 and browsed around on the official web-site (watch the movie) for awhile. The intros and demos are very impressive, the best way to describe it is rapid application development for people who know how to program. It includes some impressive ORM mapping techniques as well as generating schaffolding for common CRUD functions.
Two things that really impressed me out of the box:
1) It follows MVC and other good programming practices. This is a breath of fresh air compared to the ASP.NET idea of RAD (drag your connection object to the design surface <puke>) It also uses the Active Record pattern which is what I use in .NET (I generate business entities using CodeSmith off of the table schema, rails does this for me automatically)
2) You can override the generated functionality without breaking everything. Lets say the insert, update, and select functions are fine but you want to change the delete. You can do this easily without losing any of the benefits from the other functions. This is what all of these style of frameworks have struggled with all along.
Another thing that impressed me was some of the apps that have already been written using ruby on rails, including my latest infatuation (tadalist) as well as 43things (which keeps popping up in my google searches).
So, all of this has me seriously considering using Ruby on Rails for my application. It really seems like a perfect fit for what I am trying to do and as a bonus I get to play with Ruby. I still plan on using SQL Server and most likely will stick with ASP.NET for the web services. I will either try and get ruby on rails running through IIS or do a side-by-side installation of Apache on my server... if I can get that all working I might give it a shot.
Don't freak out though, .NET is still my bread and butter. While ruby on rails is very very cool I dont think it will challenge .NET or J2EE in the enterprise anytime soon.