Saturday, January 28, 2012

Re: Django vs. Ruby on Rails

On Thu, Jan 19, 2012 at 9:59 AM, Brian D <briandenzer@gmail.com> wrote:
> I'm wondering about diving into Ruby on Rails to qualify for a
> position, or spending my time instead going deeper into a full bells
> and whistles prototype Django site and betting on jobs opening up in
> my field. This is really a GIS career professional question.
>
> Has anyone here crossed the fence over to Ruby on Rails? What do you
> think when:

I've used both Django and Rails extensively the past 5 or 6 years.
For me it depends more on the project for which one I choose. If it's
a really important project that I envision working on long term I go
with Django. But if it's just a simple or fun project I might go with
Rails.

The Rails community loves change. There's no shortage of forked
(incompatible) gems lying around. Instead of contributing changes and
improvements back to the original project, developers often fork and
ship their own custom version of a gem. I once found 5 different
forks of Rcov while setting up a new Rails project. The original
version of Rcov wasn't compatible with what was the new Ruby 1.9 at
the time.. so everyone had an Rcov fork with their own take on the
required fixes. Gem dependencies are sometimes very frustrating with
Rails. I've never ran into such things using Django and Python.

Another thing that erks me to no end about Rails is they assume you
are using sudo. The new bundler gem is a total pain to deal with if
you are on something like Debian where sudo isn't installed by
default. I hate sudo. It's like permission to be irresponsible with
root or something.. pretty lame.

One thing I love about Rails is the speed of development. It does a
lot for you. Lots of generators to whip up quick code when required.
But that speed comes with the cost of introspection later. Rails
doesn't know anything about your tables until it looks. Even if you
go to all the trouble of writing database migrations, it doesn't even
use them later, choosing introspection instead. Some will say you
don't have to specify model fields in Rails like you do with Django,
but that's exactly what a Rails migration is.. so you do do that on
most non-toy projects.


> 1) Comparing the framework to Django;

You can accomplish the same things with either.

> 2) The communities -- friendliness, support, etc.;

Everyone seems about the same to me, but you should Google Zed Shaw's
rant about leaving the Rails community. It's pretty funny.

> 4) (I was going to leave this out but) Comparing Ruby to Python as
> languages.

I have not used Python 3 yet, but I can tell you, the latest Ruby 1.9
series is slower than the old 1.8 series. Last summer I built the
same app twice using Django and Rails. Apache bench showed the Django
app to be significantly faster. Python seems a bit faster than Ruby
in general.

> What concerns me about Django is that, outside of forums like this,
> the chatter seems to have died down in the last couple of years from a
> peak in 2008/2009.

The strengths and weaknesses and features are all fairly well known at
this point, so not much to discuss I imagine.

> I did search the group and haven't seen any recent discussions on this
> comparison.

Rails seems risky to me. Django feels like a sure bet. Maybe I'm
just old, but sometimes I get the feeling Rails is being built by some
kids in someone's basement.


--
Greg Donald

--
You received this message because you are subscribed to the Google Groups "Django users" group.
To post to this group, send email to django-users@googlegroups.com.
To unsubscribe from this group, send email to django-users+unsubscribe@googlegroups.com.
For more options, visit this group at http://groups.google.com/group/django-users?hl=en.

No comments:

Post a Comment