Hacker News new | ask | show | jobs
by pacemkr 5172 days ago
Here's an anecdote:

In my experience, finding something in Python docs takes a total of five seconds, including passing through the "Google gateway".

Finding something in Rails reference has been downright impossible. This is a function of Ruby itself, a very magical language, magic that fails to communicate in auto-generated documentation. How does this work? Good luck finding out, but you'll feel very clever three hours from now.

Admittedly, I've had very limited exposure to Rails, but perhaps that makes my experience even more relevant.

2 comments

As a ruby developer I may not be that well qualified to ask about this but can you give me an example where you've had this difficulty? It would be good to know in case there's some low-hanging fruit in documentation that would make new ruby/rails developers lives easier.

I tend to have a very easy time finding the documentation I need, in both ruby and rails. Sometimes that means a google search, but if I want more fine-grained implementation details, I normally crack open the gem in question with `bundle open` and read the source. I know that a lot people from a Java background for example prefer code-completion in their IDE's to reading source, but it seems to be the most comfortable way to find what you're looking for, in ruby at least.

My last exposure was months ago, sorry. =(

Reading the source is certainly not an alien notion to me coming from Python. I just find Ruby code very difficult to follow when you actually need to understand the implementation.

One of Ruby's greatest strengths, the ease with which you can define a DSL, is its biggest weakness in practice (in my opinion, of course.) In Rails for example, there is a DSL for everything, the Ruby language is used in non-obvious ways to get the desired DSL syntax.

All this makes it very difficult to read other people's code. For the same reason, reading the documentation is difficult. You don't know what function you should be looking for in the first place.

I'm in the same boat as you. What I've discovered while learning rails is that while you may have a hard time tracking down function names, you'll almost always remember them for next time.