Jul
15
2005

Meet Django – A Pythonic Rails Killer

To all web developers who ditched Python for Ruby on Rails, please reconsider your decision: http://www.djangoproject.com/

To all Rails developers, please stop picking on PHP, Perl, Java, and .Net– it’s just too easy. Aim a little higher–here’s your real competition: http://www.djangoproject.com/

To all other web developers that are trying to clone Rails in your favorite non-Ruby language, please stop. (This applies to me, too.) Either just use Rails, or better, yet: http://www.djangoproject.com/

Django is the framework that runs chicagocrime.org. Although it’s been slashdot’d a little less often than Rails, extra credit goes to chicagocrime.org for being BusinessWeek’d and CNN’dtwice. Now do I have your attention?

Rails’ popularity almost came out of nowhere because Basecamp was such a good showpiece for the framework… Plus, many blogs reported, “Use Rails and you, too, can be rich and famous — just like David Heinemeier Hansson!” and “In addition to writing your entire application for you, Rails will install itself, add new features automatically, and is even self-aware!”. Good documentation didn’t hurt either.

Django has been around about as long as Rails, and the list of production sites that already run Django is impressive. Python hasn’t really had a framework as hype-worthy as Rails– until now.

I attended tonight’s ChiPy meeting where Adrian Holovaty really unveiled Django. (Last month, he accidentally showed off Django when talking about chicagocrime.org) This month, his presentation was solely about the Django framework. If all goes to plan, djangoproject.com will be open for business, and the source code will be available for downloading within the next 12 hours. (Yes, it’s open source-BSD licence.) Adrian is almost as good as those pesky 37Signals guys in the generating-buzz department.

posted in python, rails by Jason Huggins

22 Comments to "Meet Django – A Pythonic Rails Killer"

  1. ToddG wrote:

    Hey look, they already released some code!

    There’s been an error:

    Traceback (most recent call last):

    File “/usr/lib/python2.3/site-packages/django/core/handler.py”, line 104, in getresponse
    return callback(request, **param
    dict)

    File “/usr/lib/python2.3/site-packages/django/views/core/flatfiles.py”, line 22, in flatfile
    f = flatfiles.get
    object(urlexact=url, sitesid_exact=SITEID)

    File “/usr/lib/python2.3/site-packages/django/core/meta.py”, line 57, in _curried
    return args0, **dict(kwargs.items() + morekwargs.items()))

    File “/usr/lib/python2.3/site-packages/django/core/meta.py”, line 1016, in functiongetobject
    objlist = functionget_list(opts, klass, **kwargs)

    File “/usr/lib/python2.3/site-packages/django/core/meta.py”, line 1037, in functiongetlist
    cursor = db.db.cursor()

    File “/usr/lib/python2.3/site-packages/django/core/db/backends/postgresql.py”, line 26, in cursor
    self.connection = Database.connect(conn_string)

    OperationalError: FATAL: Non-superuser connection limit exceeded

    ;-) that said, still very much looking forward to checking it out…

  2. Jason Huggins wrote:

    Yeah, I noticed that, too. Whoops.

    Regardless, Adrian’s demo at ChiPy was impressive. More impressive than the famous 10-minute Rails setup movie. The interesting quote was: “Rails just gives you scaffolding, Django gives you the whole house.” :-)

    So, just a few nail-pops to hammer out before the open house tomorrow. :-)

  3. Sam Newman wrote:

    It would be nice if their webstie didn’t have links that go nowehere and apparently no tutorial to speak of. IT might of been around as long/longer than Rails, but if you throw a rock at google it’ll hit about 5 rails tutorials and a made-for-tv-movie about it staring someone who used to be in Dynasty.

  4. deelan wrote:

    I’m looking at the docs, looks impressive. Too bad there isn’t a tutorial already — i feel a bit lost. Oh well, they are preparing to launch, after all :)

    I’m seeing a number of improvements coming :) Specify a RE for each handler is overkill. A default overridable object publisher ala CherryPy would be great.

  5. Adrian Holovaty wrote:

    Thanks for the writeup! Yeah, I’d still consider it a “soft launch” at this point, because we don’t even have a formal tarball of the code, so excuse the broken links for the moment. Things should be tightening up throughout the day today (Friday).

  6. limodou wrote:

    [新闻]django项目网站

    应该说 django 网站还不是正式的发布,但网站已经可以访问,地址也不是在sf.net上了。说实在的,那个地址我盯了几天都没有变化。知道这个消息还是从邮件列表中的 Carlos Liu 那知道的,想不…

  7. ToddG wrote:

    Ah the poor whipping boy of Rails, aka “famous 10-minute movie”. Everyone picks on the poor little guy!

    Well as for scaffolding vs. “whole house”, that might not last all that long. Competition is a good thing. I suspect both parties will see improvements inspired by the other. A software arms race if you will. Hopefully not resulting in new versions of J2EE though ;-)

  8. Tom Joad wrote:

    Seeing how Django is mirroring Rails-style develoment, I was hoping that the Django crowd would also mirrror the frequent churlish behavior and snarky comments common in Railsville. I see you’ve got that covered, too. Quite impressive.

  9. Jason Huggins wrote:

    Limodou, your comment is all Greek to me. :-) Any chance of a babelfish translation into English? Don’t tell me it’s spam for v|^gRa.

  10. Jason Huggins wrote:

    ToddG, to follow the “entire house”* metaphor to the absurd extreme — “… and Plone (via Zope) provides you with a entire 100 room apartment unit complex, complete with pool, valet, and landscaping — all free”… Seriously, though, if the “simplicity” meme sticks, if Django or Rails “jumps the shark” and becomes another J2EE or Zope, I fully expect “Web 3.0″ frameworks to quickly fill the void.

    (By the way, “whole house” looks too similar to another phrase that is spelled “who*e house”)

  11. Jason Huggins wrote:

    Tom Joad, my snarky comments are more than a little tounge-in-cheek. :-) I say you gotta fight fire with fire when you go up against the likes of the DHH hype machine!

    I still have Plone-based production systems* that I enjoy working on, and I love the uber-simplicity of CherryPy. And still nothing matches HyperCard for rapid app design. :-) Django (and Rails-level frameworks) fit somewhere in the middle and hit the sweet spot for the needs of most web projects.

    So, accept more churlishness and snarkiness in my posts about Django, just to keep a level playing field with Rails. But remember, it’s only a journalistic affectation, not a personality trait. :-)

    [* Plone still has lots of features that I depend on that Rails and Django still lack. But Plone's tight coupling with the Zope Object Database has tempted me to flirt with other frameworks.]

  12. Obie wrote:

    There’s one problem dude… No matter how good Django is, it isn’t written in Ruby.

  13. alang yin wrote:

    to:Jason Huggins

    Limodou said his words just in chinese.

    In china,many people are interested in django.

    so great.haha.

  14. choonkeat wrote:

    “I hope Rails learns to play with Django and they’ll not smite each other (if not friends, don’t be enemies). The world is big enough. A combined message from different camps will be more resounding than any one camp trying to say he is the bestest – and coming off as naive or clueless.”
    http://blog.yanime.org/articles/2005/07/16/ruby-has-rails-python-now-has-django

  15. mikeshi wrote:

    In fact, limodou wrote it in Chinese, not greek!!! I ,however, don’t know why he replied in Chinese, too.

  16. neuruss wrote:

    “I hope rails learns to play with Django and they’ll not smite each other…”

    Hmm… I’d rather like to see Django crushing their enemies. No mercy, no hesitation. Annihilation!

  17. Vens wrote:

    The real question is… Do the django guys have the guts to pick @ Smalltalk and Lisp solutions?

  18. rdk wrote:

    any video/pictures from the chipy meeting?

  19. Jason Huggins wrote:

    rdk: No video/pictures… But I was sitting there thinking there should have been… However, the tutorials already posted at djangoproject.com are a longer version of the demo… and I hear a screencast is coming soon.

    Vens wrote:
    “The real question is… Do the django guys have the guts to pick @ Smalltalk and Lisp solutions?”

    I’m not going there. :-) However, would anyone like to help me write “COBOL on Rails” or “FORTRAN on Rails” in time for an April 1st release next year?

  20. George Moschovitis wrote:

    There is another platform for Web development using Ruby. Nitro (and the associated ORM library Og) is gaining momentum. Have a look at http://www.nitrohq.com.

  21. magpiebrain wrote:

    A comparison of Django with Rails

    Where I compare Django and Rails, and probably piss off developers of both

  22. Jules wrote:

    Does anyone have real arguments for django?? You’re kicking rails, it’s stupid to give arguments against rails if you don’t have any arguments for django.

    I do have some arguments:

    • Ruby is much cleaner than python (self as first argument, in ruby you use iterators/blocks/continuations a lot, in python you have a separate language construct for every problem)

    • Rails doen’t require so much code for models

    But I am sure there are a lot of things that are better in django than in rails. It would be great if the good things in one project are implemented in the other, so both frameworks will improve.

 
Powered by Wordpress and MySQL. Theme by openark.org