As many of the developers out there know Ruby on Rails has been getting a lot
of buzz. In fact
I was
initially pretty impressed myself with how productive it seemed to be. Once
I looked into it deeper it became clear to me that for a number of reasons it
wouldn’t work for me in it’s present form.
- ActiveRecord, the
ORM
portion of Rails is somewhat simplistic and limited as far as ORMs go. Don’t
get me wrong, for folks who have never used an ORM it ActiveRecord will be a
dramtic help for many small development projects. - I have no urge to learn another language right now. As cool as it looks,
Ruby is not something I am heading
for. I have C# for the big stuff and
PHP for the little stuff. For now, that’s
all I need though if anything is vulnerable its PHP. - The Rails mailing list is full of people having problems with Rails in
production. Memory leaks, fragility in the configuration of the machine,
session conflicts and so on. While some people are suing Rails in large
scale public facing systems it seems like a big job to keep it running. - There is a lot of kool-aid to be had in the Rails camp. Many questions
about why Rails does what it does the way it does it are met with insults
and "clearly you don’t ‘get it’" stuff. Not what I need from a development
environment. Then you get to wade through all the hype about how they feel
like they have invented magic fish or something. - I can’t yet imagine swapping the huge support for .NET (msdn,
all the documentation, the corporate support and so on) to go to the small
Rails community. Microsoft has huge resources, Rails has effectively none. - Rails is a small framework for developing certain types of web
applications. it is not a platform. Similar frameworks are and can be built
on top of .NET.
In effect what Rails has done is important, but more in what it has shown as
methods than as an inherently superior framework. Rails has given the developer
of small websites a simple way to get specific things:
- A trivial way to create
CRUD pages for
simple databases. (create, read, update, delete) - A simple template language.
- A simple ORM.
So now you can just fire it up and get the most important pieces of the
enterprise style frameworks with very little effort. This is good. It will
introduce lots of people who were without those things to them and how they can
help. However it is worth remembering that in all these areas Rails is dependant
ont he fact that they have simplified the problem space so dramatically that it
isn’t really applicable in a more general use.
Rails is a great tool if you have to whip something out fast that happens to
fit it’s problem space well. It is probably a nice competitor to certain
situations I might use PHP in. But a Java or .NET killer? Nope.
Comments
One response to “Ruby on Rails, ORMs, .NET and PHP”
[…] CakePHP – a seriously cool set of classes, framework code and libraries that aims at bringing the advantages first really popularized by Ruby on Rails to the intensely popular and commonly available PHP universe. […]