

Django vs. Rails: The Dead-Tree Edition - Harkins
http://push.cx/2009/django-vs-rails-the-dead-tree-edition

======
mdasen
_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 ;-)

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

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

------
andr
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...](http://www.amazon.com/s/qid=1232312844/ref=sr_nr_i_0?ie=UTF8&rs=&keywords=Jesus&rh=i:aps,k:Jesus,i:stripbooks)

Rails books (428): [http://www.amazon.com/s/ref=nb_ss_b?url=search-
alias%3Dstrip...](http://www.amazon.com/s/ref=nb_ss_b?url=search-
alias%3Dstripbooks&field-keywords=Ruby+on+Rails&x=0&y=0)

~~~
tdavis
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.

------
rob
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?

~~~
matthewking
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.

~~~
GrandMasterBirt
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.

------
markbao
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.

------
FraaJad
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.

------
martythemaniak
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)

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

------
hbien
I don't understand, why does it matter?

~~~
mechanical_fish
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_!

~~~
GrandMasterBirt
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.

~~~
dasil003
_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.

~~~
FraaJad
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).

~~~
dasil003
_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.

------
jhancock
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.

------
anuraggoel
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)

------
tedshroyer
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.

------
vesan
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?

------
GrandMasterBirt
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?

------
dustineichler
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.

~~~
pavelludiq
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.

~~~
dustineichler
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.

~~~
pavelludiq
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?

