Hacker Newsnew | past | comments | ask | show | jobs | submitlogin
Django vs. Rails: The Dead-Tree Edition (push.cx)
26 points by pushcx on Jan 18, 2009 | hide | past | favorite | 35 comments


I’ll write about why this matters tomorrow.

As the author hopes we forget about his post before he has to write about why it matters. They're both good frameworks. Rails has more books for a number of reasons:

* It's been around longer. It also achieved API stability sooner. Not that Django had an unstable API, but there were big changes for longer (such as newforms). So, Rails has lent itself to having books written about it for a lot longer and has gone through many revisions since the books started coming out.

* Django has better documentation. Sure, Rails has its guides section and api-doc, but Django's documentation tends to be better than multiple books. So, there's been less of a push for books. Also, with Adrian and Jacob (the co BDFL of Django) having put a free book out there at djangobook.com, it means dead-tree books are likely to make less money.

* The Django community is smaller. Smaller means less people buying books, means less books written.

This post is the ultimate in link-bait. What's next: Why Java is better than Lisp: curly braces! I'll write more on that later ;-)


Funny, I just hopped online to type up tomorrow's post.

I'm not insulting either project; I enjoy using both daily.


In the spirit of the article, I prove that Jesus is better than Rails, because there are 779 times more books about him.

Jesus books (333,560): http://www.amazon.com/s/qid=1232312844/ref=sr_nr_i_0?ie=UTF8...

Rails books (428): http://www.amazon.com/s/ref=nb_ss_b?url=search-alias%3Dstrip...


Yeah, but how many books about Jesus have animals on the cover? Rails has a lot of animals. Django has no animals, except a bee or something. Rationally, I guess I shouldn't have picked Django.


Praise the lord! Technically jesus is better than everything then.

http://www.amazon.com/s/qid=1232320070/ref=sr_nr_i_2?ie=UTF8...

Damn Jesus beats porn but only by 8 times! (40,491) We have ways to go people! Lets make more porn books!


That's funny, in the beginning the Rails people used to brag how you only needed one book and would show this picture:

http://i44.tinypic.com/98uhs6.png

Now it looks like they turned into Java?


Not quite the same, in this article pretty much all of the books are teaching Rails. The link you provided shows a different Java technology for each book. You only need one of the books to learn Rails.


I enjoyed the picture but:

Struts cookbook? Well thats not a requirement. There is the RoR cookbook. Add that to the pile.

IF you are making an xml-based external web service I don't care what language you still write the XSLT to give out as a public api. So thats another one to the ruby pile.

Struts in action? There are 2 learn struts books in that pile.

In any case if you think more than a few seconds about that image you will cut down the java side and incraese the ruby side to equalibrium.


That's a great point, I totally remember this. Everyone was like, 'We have scaffolding!'.

Now that I've switched from Django to Rails though, I have to say it is plesently surprising how nice of a framework it is... but from a Django to Rails perspective Rails is annoying to the point Merb has gained a lot of success. Anyways, I digress. Thanks for posting that image, had a good laugh about it.


Alright, I'm a Rails developer, but I don't understand why Rails is better than Django because it has more books written about it.

Is it because Rails is popular and emits a lot more noise than Django? Yeah, probably.


I bought agile web development with Rails 2 years back(appx) after hearing all hoopla about Rails. The quality of the book was comparable the Pylons online documentation (which has taken some interesting bits from Rails).

The django documentation has been consistently superior from day one. Its the only documentation I refer to when developing with Django. I may dive into the source code to better understand things infrequently.

The other documentation artifacts, like slides, produced by Django core developers are excellent enough to be reused in teaching django.

So, if the blog's author is trying to use no of books as a metric to prove anything, it may be something to do with the gullibility of the target audience and/or lack of solid documentation on the framework website.


I don't get it. Is the point that Rails is better because it has more books, or that Django is better because it doesn't have so many shitty books? (yes, I am judging them by their covers)


Clearly I am also making a mistake by not using Visual Basic.


I don't understand, why does it matter?


Well, the article says:

I’ll write about why this matters tomorrow.

Tune in tomorrow!

All I can figure is that either (a) Java and/or PHP are about to declare "victory" again, whatever that means, or (b) it will be concluded that the framework with the smallest number of books is superior because the docs are DRYer than everybody else's docs. Which might well be another moral victory for some obscure Lisp dialect.

I'm holding out for option (c): A collectible card game in which teams of software books are assembled to fight holy wars against each other. SICP, I choose you!


Goddamnit, Now I'm writing rules in my head!


That sneaky sonofabitch!

RoR obviously gained some massive popularity. However I don't understand why Django did not gain as much as RoR did. Python is a damn good language, which by the way is gaining some momentum due to google's big fat presence with the app engine.

So why is Ruby so popular? To be honest I am actually pretty unhappy with ruby (don't give me any more one-liner ruby scripts or I will bitch-smack yo ass) with how easy it is to make that language unreadable compared to say... python.

I work with a web server built in javascript and can tell you that with a loosely structured dynamic language it is horribly easy even for decent programmers to make unreadable code.


However I don't understand why Django did not gain as much as RoR did

Two reasons.

First, unlike Python, Ruby didn't have any viable web framework in 2004, so it was easy to attract Ruby developers.

Second, and more importantly, David is much better marketer than Adrian. He poked the J2EE hornet's nest and evangelized the hell out of Rails for the first year and really got the snowball rolling.


and also because python programmers are confident of their language and ecosystem not to resort to gimmicks like the "F* You" slides.

It could have ended badly for Rails except that lot of Java developers ended up tasting the heady mix of dynamic languages and web 2.0 via Rails thanks to Java gurus like Martin Fowler. And coming from the staid world of Java, a colourful character and opinionated framework was hip and happening.

Meanwhile, pythoneers did what they do best, keep producing good code and documentation. This is a recurring theme across many areas where python is good at not just web frameworks.

Python does not nurture over the top behaviour (I notice that neither does Ruby.. Rails is another matter).


and also because python programmers are confident of their language and ecosystem not to resort to gimmicks

But not confident enough to be just a little bitter about Rails' success?

Seriously, if you think DHH is an asshole then say so. Maybe you would never sink to his level to promote your project. Fine. But jumping to the conclusion that he's not confident of his language is just rationalization. The ugly truth is that brilliant tech is ignored every day because someone didn't know how to market it.


Affiliate links to amazon?

This has got to be the lamest excuse for posting a bunch of amazon links I've seen in a while. Usually there's at least some pretense of "reviewing" the titles.


Wow, I hadn't even noticed that the images were linked, let alone they were affiliate links. This is a pretty low-quality attempt, both for a blog post and a pitch to get money.


It's not a pitch to get money. I've been pondering this blog post for a while since I noticed the difference in a bookstore, and linking to Amazon was a hundred times easier than finding all the books on the websites of their respective publishers.


If it did matter, what would we learn by comparing .NET books w/ Rails books, or Seaside books with Django books. Surely the number of books isn't the point.


A point well illustrated by this particular book from the Rails list: http://www.amazon.com/exec/obidos/ASIN/0470374950/pushcx-20/...


I'll wait until django works with python 3 and rails becomes v3. Then I"ll decide which set of dead trees I like best. Of course by then, I expect full ajaxy docs for each on an iPhone app, so no dead trees at all.


Even if it did matter while picking one (and I don't see how), a more useful comparison would be a time-since-framework-release weighted number of books (sort of like HN ranks)


I think the number of widely published books on any subject is an indicator of how much money publishers think can be made more than how good the thing is.


There is 4 books on non-Rails topics on the Rails section. 3 Ruby books and REST-book. But yeah, there is more Rails-books, so what?


RoR has a for dummies book. Keep away from RoR. The article writer never claimed which one was better. I think Django is better just because it has no for dummies book.

On a side question for hacker news fellas: Who reads for dummies books? I mean who reads programming language books for dummies? Is there any practical use for them or is it just for people who don't know what they are doing but want to claim to know a language?


I have always had a problem with django documentation. It's bad. I struggled for a long time with django figuring out what I could do on my own, but the problem isn't simply on the community size, or the number of books, it's also the type of people involved. There's a number of people whom don't want to see it change/grow and that's where I found it frustrating. I don't think you can expect more books to be written about it as a result because many want to keep it niche. It's a great framework otherwise and the changes made in the 1.0 release were awesome. Django is great b/c it allows for full leverage of python. The patch to python only made it that much better too. Django doesn't bake everything in so it's super simplistic in nature. However, I'm now a rails coder and I find scaffolding dumb so I'll switch to merb soon.Working outside in is for the birds, but where the jobs are and better books.

Last point, documentation in my mind winds the race... but community is just as important. The kinda of people you attract etc.. Maybe django will get better in the future and not everything in everybook and documentation will explicitly assume you to be an expert.


My first Django project was a "yet another blog in Django" type of site. This is how it worked:

1-day to do the html(very little html knowledge) 1-day to learn css and do it( i had no css or web design experience) 2-days slacking off 1.5 days reading documentation and writing code as i go along 0.5 days finishing the code and inserting the django template tags in to the html, also seting up the admin site and then killing off the project as a good experience.

As you might guess, i had no other web experience, except some simple html, i found the django docs to be extremely to the point and useful. I also had a problem with setting up django, and people on irc helped with that too.


Don't correlate my frustration with not being able to do something or anything in django. That wasn't the case, not what I meant. I'm glad you were able to make a shitty blog, I'm sure you're satisfied with yourself.


Its not only shitty, its ugly too, thats to be expected from a noob :D

I guess i didn't express my point very well, the idea was that i used the docs and found them very useful, and i was able to do something that i was unable to do if i hadn't. Maybe you could say specifically what you don't like about the docs, here is what i liked:

-there was a good tutorial, that skipped some details, and let me get a general feel of how things work. -the rest of the docs are divided in to sections and finding things was easy, it was pretty well organized. -There were notes and backward compatibility warnings, that helped me avoid some headaches.

Well, i don't like the green colorscheme, but other that that i had no headache with it. Maybe if i went on to make something more complicated?


I hope you don't compose code the way you compose paragraphs. Good lord!




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: