To me it’s mostly about the Open Source culture: Not only Rails, but
the entire stack as many have pointed out. Open source is not only
about free (as in beer), but the freedom to do whatever the heck you
want with it - for instance, deploy on nginx with mongrel, or thin, or
passenger, under any number of VMs and OSes, as well as databases.
This is the kind of freedom you get on an open source environment,
much unlike Microsoft. By using .Net MVC, not only are you locking
your “VM” to the .Net framework (not sure if Mono is a viable option),
but also you would have to deploy on the windows stack, and get ready
to pay for licensing fees for both Windows Server and SQL Server. It
does add up, especially if/when you scale horizontally. Be sure to
bring this up when they make the point the MS .Net MVC was recently
open sourced.
The Rails community has lead the path in web development industry with
practices like TDD and BDD, DRY, YAGNI, convention over configuration,
full integration with javascript frameworks enabling the use of Ajax,
etc. These are certainly possible and encouraged by other frameworks,
but Rails lead that path and made it real and tangible.
Finally, Ruby is just a joy to work with. I firmly believe that it
helps developers write shippable code faster, and with less bugs.
Blocks and procs make life more enjoyable. Not having to write BS code
to simply call something on each element of an array, by example, just
talks for itself:
Here’s a brief example:
for (int i = 0; i < my_array.length; i++) {
my_array[i].something()
}
Or:
my_array.map(&:something)
Same goes with the dynamic nature of the language and how it makes
meta-programming accessible…
The bottom line is that by using Ruby (and Rails), you will most
likely be able to develop new features quicker, you and your team will
be happier, and you’ll have a broader set of deployment options for
your apps. What’s most important for the business is getting features
out the door, with as few bugs as possible, and being able to maintain
them throughout the life cycle of the product. In this sense, Rails
delivers.
Good luck,
-H