Download Firefox: WindowsMac OS X
logo       
Google Custom Search
    AddThis Social Bookmark Button

Re: Ruby Docs with annotations and searching: msg#00023

Subject: Re: Ruby Docs with annotations and searching
Conor Hunt wrote:
I really do like the way the PHP docs work, I don't know what they do
in the background, but I have found incredible use from the comments,
usually the comments are more useful than the official documentation!
I have heard many times "why doesn't Ruby or Rails have documentation
like PHP?"

I don't want to sound too negative, but you seem to be assuming that the reason Ruby doesn't have good documentation, is that it doesn't have easy ways to write documentation.

I believe that's not the case, and that the reason Ruby doesn't have good documentation is (a) historical and (b) cultural.

The historical aspect is that a lot of Ruby code was written by Japanese people who either didn't write English documentation, or had trouble making their English documentation clear. No fault of theirs, of course, I'm just saying that's part of how we got here.

But the second aspect, the big one, is that for reasons I don't quite understand Ruby seems to have attracted a lot of people who actively *do not believe in documentation*. I've literally been flamed for daring to suggest that documentation is essential to good code, and that unit tests are not a substitute for documentation. (Watch, maybe it'll happen again now.)

I also suggested that there should be a moratorium on adding undocumented (and hence unrefactorable) code to Ruby. That suggestion was met with mostly silence, plus a little "take it to another list" hostility.

Rdoc makes it ridiculously easy to write at least minimal documentation while writing the code. If the people updating code are so misguided or lazy that they won't jot down a few lines of comments while they've got the code open in their text editors, they're not going to go to some web site and navigate around to the right place and write it there. The people going to the web site will mostly be people who don't know how the code works.

Hence my guess is that an "annotated Ruby documentation" site will fill up with questions. Yes, it may attract some people who take the time to answer the questions, but basically it'll be another ruby-talk, only scattered across thousands of web pages. Who ever takes the time to read through ruby-talk, look for things that should be incorporated in documentation, and update the Rdoc? Me and, what, 2 or 3 other people? Given that, how likely is it that the nuggets buried in threads on this proposed site will ever make it into organized, structured documentation, assuming nuggets appear in the first place?

So what's my alternative? Simple: instead of spending time getting this web site off the ground and managing it, use that time to write some documentation.

It seems to me that everyone wants to build fancy new documentation processors and fancy documentation web sites so that *other people* can write documentation; the problem is, *nobody wants to actually write the documentation*. Prove me wrong, sit down and write some.

Pick a library, ideally one you've used. See if the source code has some comments, a README, some examples, or any other starting points. If the source is impenetrable, fire up irb and toy with the library until you work out what it's doing. Ask for clarification or assistance on ruby-talk or on this list.

If you have to, leave bits of the library undocumented. There's no shame in doing an incomplete job, it's better than no job at all. For instance, I skipped net/ldap when I did net/everythingelse, because I'm quite happy to admit I know practically nothing about LDAP and have always found it impenetrable.

Of course, if you want to go ahead with the web site, I've nothing against that. I just don't think it'll be as productive a way to generate documentation as actually writing documentation. If I'm wrong, that's good too.


mathew




<Prev in Thread] Current Thread [Next in Thread>