Need a compelling argument to use Django instead of Rails

Discussion in 'Python' started by Ray, Jul 24, 2006.

  1. Ray

    Ray Guest

    I just moved to another company that's mainly a Java/.NET shop. I was
    happy to find out that there's a movement from the grassroot to try to
    convince the boss to use a dynamic language for our development!

    Two of the senior developers, however, are already rooting for Ruby on
    Rails--although they haven't tried RoR themselves. When I suggested
    Django, they went like, "what's that?".

    I said, "It's like the Python counterpart of RoR".

    "Nah, we're not interested in Python."

    I think they are already predisposed to RoR simply because of RoR's
    visibility (i.e.: at my workplace everybody knows RoR but nobody knows
    about Django unless they've used Python as well). So far the arguments
    I can think of:

    1. The investment of learning Python will be a good investment because
    it transfer to platforms that we've already supported, i.e.: JVM and
    ..NET CLR (using Jython and IronPython). Ruby's availability on this
    platform is not as mature--JRuby is still at 0.9 and I don't think
    IronRuby is coming out anytime soon :)

    2. Python is a much more mature language than Ruby--it's been around
    since ages ago and as such has a lot more tools, articles, and other
    resources than Ruby. It is also the language being used by
    high-visibility company like Google, with the creator of the language
    himself working there.

    3. Python emphasizes readability instead of cleverness/conciseness.

    4. What else? I haven't tried RoR so I can't argue meaningfully on
    whether using Django will put us at an advantage.

    Can you help me with my argument? Meanwhile I think I'll give RoR a try
    as well.

    Thank you,
    Ray
    Ray, Jul 24, 2006
    #1
    1. Advertising

  2. Ray

    Steve Holden Guest

    Ray wrote:
    > I just moved to another company that's mainly a Java/.NET shop. I was
    > happy to find out that there's a movement from the grassroot to try to
    > convince the boss to use a dynamic language for our development!
    >
    > Two of the senior developers, however, are already rooting for Ruby on
    > Rails--although they haven't tried RoR themselves. When I suggested
    > Django, they went like, "what's that?".
    >
    > I said, "It's like the Python counterpart of RoR".
    >
    > "Nah, we're not interested in Python."
    >
    > I think they are already predisposed to RoR simply because of RoR's
    > visibility (i.e.: at my workplace everybody knows RoR but nobody knows
    > about Django unless they've used Python as well). So far the arguments
    > I can think of:
    >
    > 1. The investment of learning Python will be a good investment because
    > it transfer to platforms that we've already supported, i.e.: JVM and
    > ..NET CLR (using Jython and IronPython). Ruby's availability on this
    > platform is not as mature--JRuby is still at 0.9 and I don't think
    > IronRuby is coming out anytime soon :)
    >
    > 2. Python is a much more mature language than Ruby--it's been around
    > since ages ago and as such has a lot more tools, articles, and other
    > resources than Ruby. It is also the language being used by
    > high-visibility company like Google, with the creator of the language
    > himself working there.
    >
    > 3. Python emphasizes readability instead of cleverness/conciseness.
    >
    > 4. What else? I haven't tried RoR so I can't argue meaningfully on
    > whether using Django will put us at an advantage.
    >
    > Can you help me with my argument? Meanwhile I think I'll give RoR a try
    > as well.
    >

    I wouldn't waste your time. "A man convinced against his will is of the
    same opinion still", and they already know they aren't interested in
    Python. There are probably many other matters about which they are
    uninformed and equally determined.

    http://sethgodin.typepad.com/seths_blog/2005/08/i_changed_my_mi.html

    regards
    Steve
    --
    Steve Holden +44 150 684 7255 +1 800 494 3119
    Holden Web LLC/Ltd http://www.holdenweb.com
    Skype: holdenweb http://holdenweb.blogspot.com
    Recent Ramblings http://del.icio.us/steve.holden
    Steve Holden, Jul 24, 2006
    #2
    1. Advertising

  3. Ray

    Ray Guest

    Steve Holden wrote:
    > I wouldn't waste your time. "A man convinced against his will is of the
    > same opinion still", and they already know they aren't interested in
    > Python. There are probably many other matters about which they are
    > uninformed and equally determined.


    Well the thing is that I have to admit I have some stake in this. If
    we're using Rails then everybody's starting from 0. Whereas if we're
    using Python I already know it so I'll have an easier time :)

    Also, those are just two developers. Convincing the big guy, the
    decision maker, is a separate matter isn't it?

    Do you know of any other arguments, or you do think that for somebody
    who really, really doesn't care about which language, either RoR/Ruby
    or Django/Python will do just fine?

    Cheers
    Ray

    >
    > http://sethgodin.typepad.com/seths_blog/2005/08/i_changed_my_mi.html
    >
    > regards
    > Steve
    > --
    > Steve Holden +44 150 684 7255 +1 800 494 3119
    > Holden Web LLC/Ltd http://www.holdenweb.com
    > Skype: holdenweb http://holdenweb.blogspot.com
    > Recent Ramblings http://del.icio.us/steve.holden
    Ray, Jul 24, 2006
    #3
  4. Ray

    Ray Guest

    Ray, Jul 24, 2006
    #4
  5. Ray

    Tim Heaney Guest

    "Ray" <> writes:
    >
    > Can you help me with my argument?


    Well, there is this study suggesting Django outperforms Ruby on Rails

    http://wiki.rubyonrails.com/rails/pages/Framework Performance

    > Meanwhile I think I'll give RoR a try as well.


    Good idea. I think Ruby on Rails is terrific. Perhaps you'll think so
    too. If not, at least you'll have a better idea of why you don't.

    Tim
    Tim Heaney, Jul 24, 2006
    #5
  6. Ray

    Ray Guest

    Tim Heaney wrote:
    > "Ray" <> writes:
    > >
    > > Can you help me with my argument?

    >
    > Well, there is this study suggesting Django outperforms Ruby on Rails
    >
    > http://wiki.rubyonrails.com/rails/pages/Framework Performance
    >
    > > Meanwhile I think I'll give RoR a try as well.

    >
    > Good idea. I think Ruby on Rails is terrific. Perhaps you'll think so
    > too. If not, at least you'll have a better idea of why you don't.


    Thanks Tim!!

    Cheers
    Ray

    >
    > Tim
    Ray, Jul 24, 2006
    #6
  7. Ray enlightened us with:
    > Two of the senior developers, however, are already rooting for Ruby on
    > Rails--although they haven't tried RoR themselves. When I suggested
    > Django, they went like, "what's that?".
    >
    > I said, "It's like the Python counterpart of RoR".


    Bad answer. Now they think they'll get the same thing they already
    have with RoR, but that they'll have to put more effort into it.

    > "Nah, we're not interested in Python."


    Ask them why.

    > I think they are already predisposed to RoR simply because of RoR's
    > visibility (i.e.: at my workplace everybody knows RoR but nobody
    > knows about Django unless they've used Python as well).


    Which means most of the people saying "we're not interested in Python"
    do so without proper reason, since they don't know the language.

    > 1. The investment of learning Python will be a good investment
    > because it transfer to platforms that we've already supported, i.e.:
    > JVM and .NET CLR (using Jython and IronPython). Ruby's availability
    > on this platform is not as mature--JRuby is still at 0.9 and I don't
    > think IronRuby is coming out anytime soon :)


    Jython isn't up to par with current Python versions either.

    > 2. Python is a much more mature language than Ruby--it's been around
    > since ages ago and as such has a lot more tools, articles, and other
    > resources than Ruby. It is also the language being used by
    > high-visibility company like Google, with the creator of the
    > language himself working there.


    That is _definitely_ true. The behaviour of Ruby hasn't even properly
    been defined.

    > 4. What else? I haven't tried RoR so I can't argue meaningfully on
    > whether using Django will put us at an advantage.


    Check out the admin you get for free with Django. Add/edit/delete
    controls are easily done with RoR, but Django comes with a mature,
    easy to use, on-the-fly generated, customizable admin. The form
    handling is also excellent.

    Sybren
    --
    The problem with the world is stupidity. Not saying there should be a
    capital punishment for stupidity, but why don't we just take the
    safety labels off of everything and let the problem solve itself?
    Frank Zappa
    Sybren Stuvel, Jul 24, 2006
    #7
  8. Ray

    Steve Holden Guest

    Ray wrote:
    > Steve Holden wrote:
    >
    >>I wouldn't waste your time. "A man convinced against his will is of the
    >>same opinion still", and they already know they aren't interested in
    >>Python. There are probably many other matters about which they are
    >>uninformed and equally determined.

    >
    >
    > Well the thing is that I have to admit I have some stake in this. If
    > we're using Rails then everybody's starting from 0. Whereas if we're
    > using Python I already know it so I'll have an easier time :)
    >
    > Also, those are just two developers. Convincing the big guy, the
    > decision maker, is a separate matter isn't it?
    >
    > Do you know of any other arguments, or you do think that for somebody
    > who really, really doesn't care about which language, either RoR/Ruby
    > or Django/Python will do just fine?
    >

    Well, my view is that both are frameworks, and so you will inevitably
    "run out of steam" at some point if your implementation plans become too
    ambitious. The impression I get is that Rails is relatively inflexible
    on database schemas, and once you get "off the beaten track" it gets
    difficult to cope with complex existing databases.

    regards
    Steve
    --
    Steve Holden +44 150 684 7255 +1 800 494 3119
    Holden Web LLC/Ltd http://www.holdenweb.com
    Skype: holdenweb http://holdenweb.blogspot.com
    Recent Ramblings http://del.icio.us/steve.holden
    Steve Holden, Jul 24, 2006
    #8
  9. Ray

    Ray Guest

    Thanks Sybren for the reply! Regarding this point:

    > The form handling is also excellent.


    Is it excellent in a way that's "better" than RoR in certain ways?

    Regards,
    Ray

    Sybren Stuvel wrote:
    > Ray enlightened us with:
    > > Two of the senior developers, however, are already rooting for Ruby on
    > > Rails--although they haven't tried RoR themselves. When I suggested
    > > Django, they went like, "what's that?".
    > >
    > > I said, "It's like the Python counterpart of RoR".

    >
    > Bad answer. Now they think they'll get the same thing they already
    > have with RoR, but that they'll have to put more effort into it.
    >
    > > "Nah, we're not interested in Python."

    >
    > Ask them why.
    >
    > > I think they are already predisposed to RoR simply because of RoR's
    > > visibility (i.e.: at my workplace everybody knows RoR but nobody
    > > knows about Django unless they've used Python as well).

    >
    > Which means most of the people saying "we're not interested in Python"
    > do so without proper reason, since they don't know the language.
    >
    > > 1. The investment of learning Python will be a good investment
    > > because it transfer to platforms that we've already supported, i.e.:
    > > JVM and .NET CLR (using Jython and IronPython). Ruby's availability
    > > on this platform is not as mature--JRuby is still at 0.9 and I don't
    > > think IronRuby is coming out anytime soon :)

    >
    > Jython isn't up to par with current Python versions either.
    >
    > > 2. Python is a much more mature language than Ruby--it's been around
    > > since ages ago and as such has a lot more tools, articles, and other
    > > resources than Ruby. It is also the language being used by
    > > high-visibility company like Google, with the creator of the
    > > language himself working there.

    >
    > That is _definitely_ true. The behaviour of Ruby hasn't even properly
    > been defined.
    >
    > > 4. What else? I haven't tried RoR so I can't argue meaningfully on
    > > whether using Django will put us at an advantage.

    >
    > Check out the admin you get for free with Django. Add/edit/delete
    > controls are easily done with RoR, but Django comes with a mature,
    > easy to use, on-the-fly generated, customizable admin. The form
    > handling is also excellent.
    >
    > Sybren
    > --
    > The problem with the world is stupidity. Not saying there should be a
    > capital punishment for stupidity, but why don't we just take the
    > safety labels off of everything and let the problem solve itself?
    > Frank Zappa
    Ray, Jul 24, 2006
    #9
  10. Ray

    Ray Guest

    Steve Holden wrote:
    > Well, my view is that both are frameworks, and so you will inevitably
    > "run out of steam" at some point if your implementation plans become too
    > ambitious. The impression I get is that Rails is relatively inflexible
    > on database schemas, and once you get "off the beaten track" it gets
    > difficult to cope with complex existing databases.


    Hi Steve,

    Thanks for the reply! Regarding "running out of steam", well... we've
    been using Struts + Spring + Hibernate on the Java side, so yeah, we're
    quite used to molding our code to fit frameworks :)

    Cheers
    Ray

    >
    > regards
    > Steve
    > --
    > Steve Holden +44 150 684 7255 +1 800 494 3119
    > Holden Web LLC/Ltd http://www.holdenweb.com
    > Skype: holdenweb http://holdenweb.blogspot.com
    > Recent Ramblings http://del.icio.us/steve.holden
    Ray, Jul 24, 2006
    #10
  11. Ray

    David Cook Guest

    On 2006-07-24, Sybren Stuvel <> wrote:

    > Jython isn't up to par with current Python versions either.


    But the last release is up to the level of C-Python 2.2 or so. I don't
    really feel like I'm missing that much with it.

    Dave Cook
    David Cook, Jul 24, 2006
    #11
  12. Ray

    Ray Guest

    David Cook wrote:
    > On 2006-07-24, Sybren Stuvel <> wrote:
    >
    > > Jython isn't up to par with current Python versions either.

    >
    > But the last release is up to the level of C-Python 2.2 or so. I don't
    > really feel like I'm missing that much with it.


    You mean the alpha? They're rushing for a beta now that'll bring Jython
    to 2.2, I hope it'll come out soon. But yeah, compared to IronPython
    (2.4 compliant, halfway to 2.5 even), it's pretty behind. But things
    are changing the development seems to be picking up speed again!

    Cheers
    Ray

    >
    > Dave Cook
    Ray, Jul 24, 2006
    #12
  13. Ray enlightened us with:
    >> The form handling is also excellent.

    >
    > Is it excellent in a way that's "better" than RoR in certain ways?


    Wouldn't know. I just know it's excellent :)

    All I know about RoR:

    - What you can see in the "20 minute wiki" video tutorial.

    - What I was told from a professor in formal languages, which is
    that there is no formal definition of the Ruby language. That's
    enough for me to not use it.

    Another reason for me not to use Ruby, is that there is no distinction
    between those two lines of code:

    x = somefunc
    x = somefunc()

    For those that don't know Ruby: both lines will call the somefunc
    function and store the result in 'x'.

    Sybren
    --
    The problem with the world is stupidity. Not saying there should be a
    capital punishment for stupidity, but why don't we just take the
    safety labels off of everything and let the problem solve itself?
    Frank Zappa
    Sybren Stuvel, Jul 24, 2006
    #13
  14. Ray

    Paddy Guest

    Ray wrote:
    > I just moved to another company that's mainly a Java/.NET shop. I was
    > happy to find out that there's a movement from the grassroot to try to
    > convince the boss to use a dynamic language for our development!
    >
    > Two of the senior developers, however, are already rooting for Ruby on
    > Rails--although they haven't tried RoR themselves. When I suggested
    > Django, they went like, "what's that?".
    >
    > I said, "It's like the Python counterpart of RoR".
    >
    > "Nah, we're not interested in Python."
    >
    > I think they are already predisposed to RoR simply because of RoR's
    > visibility (i.e.: at my workplace everybody knows RoR but nobody knows
    > about Django unless they've used Python as well). So far the arguments
    > I can think of:
    >
    > 1. The investment of learning Python will be a good investment because
    > it transfer to platforms that we've already supported, i.e.: JVM and
    > .NET CLR (using Jython and IronPython). Ruby's availability on this
    > platform is not as mature--JRuby is still at 0.9 and I don't think
    > IronRuby is coming out anytime soon :)
    >
    > 2. Python is a much more mature language than Ruby--it's been around
    > since ages ago and as such has a lot more tools, articles, and other
    > resources than Ruby. It is also the language being used by
    > high-visibility company like Google, with the creator of the language
    > himself working there.
    >
    > 3. Python emphasizes readability instead of cleverness/conciseness.
    >
    > 4. What else? I haven't tried RoR so I can't argue meaningfully on
    > whether using Django will put us at an advantage.
    >
    > Can you help me with my argument? Meanwhile I think I'll give RoR a try
    > as well.
    >
    > Thank you,
    > Ray


    Ruby does not have doctest :)

    - Paddy.
    Paddy, Jul 24, 2006
    #14
  15. Ray

    Guest

    Steve Holden wrote:
    ....
    > I wouldn't waste your time. "A man convinced against his will is of the
    > same opinion still", and they already know they aren't interested in
    > Python. There are probably many other matters about which they are
    > uninformed and equally determined....


    This is too true. Fortunately progress proceeds
    slowly nonetheless. For example C++ is much
    less used these days where it is totally and
    catastrophically inappropriate than in years past
    -- maybe because the true C++ boneheads have
    been promoted or are retiring... Nevertheless I was
    recently told by a new grad that I should translate
    one of my (working, no problems) python apps to
    C++ because C++ is "a higher level language."
    But I'm sure he'll fall in line with the next stream
    of lemmings rather than sink into the tarpit with the
    dinosaurs.

    -- Aaron Watters

    ===
    Paradigms shift when the old guys retire. -- Kuhn (?)
    , Jul 24, 2006
    #15
  16. Ray

    John J. Lee Guest

    Sybren Stuvel <> writes:
    [...]
    > - What I was told from a professor in formal languages, which is
    > that there is no formal definition of the Ruby language. That's
    > enough for me to not use it.

    [...]

    So you're not using Python either?

    Probably I don't understand what you're getting at, but the Python
    language reference had big gaps in it last time I looked (though
    Fredrik Lundh has been working on updated documentation -- I'm sure
    he'll do a great job). Lots of features were just not in there.
    Certainly lots of details e.g. regarding the various special method
    protocols (especially when it comes to builtin types) are not
    documented. ISTR the core maintainers of CPython aren't even that
    worried about the grammar productions listed in the reference manual
    being 100% accurate. CPython and Jython (ignoring the fact that
    Jython's still on 2.1) have some fairly significant differences in
    various details of the language. No doubt IronPython will too. Of
    course, this is not something unique to Python, and I guess Python
    does very well in comparison, when it comes to actual practice.


    The fact that "open classes" are apparently thought to be a good thing
    in Ruby puzzles (and worries) me.


    John
    John J. Lee, Jul 25, 2006
    #16
  17. Ray

    John J. Lee Guest

    Steve Holden <> writes:
    [...]
    > Well, my view is that both are frameworks, and so you will inevitably
    > "run out of steam" at some point if your implementation plans become too
    > ambitious. The impression I get is that Rails is relatively inflexible
    > on database schemas, and once you get "off the beaten track" it gets
    > difficult to cope with complex existing databases.


    I get that overall impression of Django too (as being more tightly
    coupled to itself, hence less flexible, when compared with TurboGears
    in particular). I haven't done much with it yet, though (and
    presumably the 'magic-removal' branch landing did some good).

    What do you make of the rest of Django (aside from the DB stuff)?

    It's a shame TurboGears doesn't yet have a solid "out of the box" CRUD
    admin interface as Django.


    John
    John J. Lee, Jul 25, 2006
    #17
  18. Ray

    John J. Lee Guest

    "Ray" <> writes:

    > I just moved to another company that's mainly a Java/.NET shop. I was
    > happy to find out that there's a movement from the grassroot to try to
    > convince the boss to use a dynamic language for our development!
    >
    > Two of the senior developers, however, are already rooting for Ruby on
    > Rails--although they haven't tried RoR themselves. When I suggested
    > Django, they went like, "what's that?".
    >
    > I said, "It's like the Python counterpart of RoR".
    >
    > "Nah, we're not interested in Python."

    [...]

    It's the herding instinct. Hard to argue with that mindset.


    John
    John J. Lee, Jul 25, 2006
    #18
  19. Ray

    Yannick Guest

    Hi,

    A few months ago I had to choose between RoR and a Python framework
    (TurboGears in that case). I picked TurboGears because of the language
    maturity and all the third party libs. i.e. I can do PDF reporting with
    reportLab, control OpenOffice with Python..
    Ruby has still a "cool factor" going with it, but give it 2-3 years to
    become mainstream and another language will be the new cool thing to
    program with..


    Ray wrote:
    > I just moved to another company that's mainly a Java/.NET shop. I was
    > happy to find out that there's a movement from the grassroot to try to
    > convince the boss to use a dynamic language for our development!
    >
    > Two of the senior developers, however, are already rooting for Ruby on
    > Rails--although they haven't tried RoR themselves. When I suggested
    > Django, they went like, "what's that?".
    >
    > I said, "It's like the Python counterpart of RoR".
    >
    > "Nah, we're not interested in Python."
    >
    > I think they are already predisposed to RoR simply because of RoR's
    > visibility (i.e.: at my workplace everybody knows RoR but nobody knows
    > about Django unless they've used Python as well). So far the arguments
    > I can think of:
    >
    > 1. The investment of learning Python will be a good investment because
    > it transfer to platforms that we've already supported, i.e.: JVM and
    > .NET CLR (using Jython and IronPython). Ruby's availability on this
    > platform is not as mature--JRuby is still at 0.9 and I don't think
    > IronRuby is coming out anytime soon :)
    >
    > 2. Python is a much more mature language than Ruby--it's been around
    > since ages ago and as such has a lot more tools, articles, and other
    > resources than Ruby. It is also the language being used by
    > high-visibility company like Google, with the creator of the language
    > himself working there.
    >
    > 3. Python emphasizes readability instead of cleverness/conciseness.
    >
    > 4. What else? I haven't tried RoR so I can't argue meaningfully on
    > whether using Django will put us at an advantage.
    >
    > Can you help me with my argument? Meanwhile I think I'll give RoR a try
    > as well.
    >
    > Thank you,
    > Ray
    Yannick, Jul 25, 2006
    #19
  20. Ray

    Joe Knapka Guest

    John J. Lee wrote:

    > The fact that "open classes" are apparently thought to be a good thing
    > in Ruby puzzles (and worries) me.


    This objection strikes me as having the same
    nature as, "Python's lack of strong protection for
    class members puzzles (and worries) me". The Pythonic
    answer to that objection is usually that this is a
    feature: it lets people who know what they're doing
    solve problems more easily than if they had to work
    around a bunch of "helpful" protection.

    Classes are effectively open in Python, too, at least
    where methods are concerned, since one can do
    klass.__dict__["myMethod"]=myMethod.
    Though admittedly, it isn't widely advertised as a
    feature of Python.

    It makes sense to me to think of open classes as being
    open for extension, not modification. After all, methods
    added by clients are unlikely to depend on
    implementation details (though I suppose they could, to
    which I would say, "Don't do that").

    Steve Yegge's "Opinionated Elf" is an example of a problem
    that is very easy and elegant to solve with open classes,
    and painful to solve when classes are closed:
    http://www.cabochon.com/~stevey/blog-rants/polymorphism-fails.html

    Cheers,

    -- JK
    Joe Knapka, Jul 25, 2006
    #20
    1. Advertising

Want to reply to this thread or ask your own question?

It takes just 2 minutes to sign up (and it's free!). Just click the sign up button to choose a username and then you can ask your own questions on the forum.
Similar Threads
  1. John Posner

    Question on Django and Django Book

    John Posner, Nov 13, 2010, in forum: Python
    Replies:
    0
    Views:
    311
    John Posner
    Nov 13, 2010
  2. Ryan Paul
    Replies:
    22
    Views:
    349
    Kristof Bastiaensen
    May 13, 2004
  3. Neil Mc Laughlin
    Replies:
    0
    Views:
    88
    Neil Mc Laughlin
    May 10, 2004
  4. eGenix Team: M.-A. Lemburg
    Replies:
    0
    Views:
    135
    eGenix Team: M.-A. Lemburg
    Jun 18, 2013
  5. Gary Roach
    Replies:
    0
    Views:
    131
    Gary Roach
    Jan 2, 2014
Loading...

Share This Page