Playing with Ruby and Rails

I have been playing with Ruby and Rails for a good number of months already and fond it quite interesting.
It’s fairly easy to start new projects and get going, although it’s also very easy to make
mistakes if you don’t know what’s going on behind the scenes. For instance, it’s very easy
to have the N+1 SQL problem, or dependency mismatches between machines.

What I like:

  • Migrations
  • Different environments (dev, test, production), and predefined configurations for each, like log level
  • Real time development, change a file and see the changes immediately.
  • AJAX support, very easy to create partial updates and requests

What I don’t like:

  • Dependency management, if you don’t define versions it will take whatever is installed in the system
    (but probably I’m just spoiled by using Maven for so long)
  • Debugging, it ends being puts statements, although there’s probably something helpful out there
  • The plugin ecosystem, it’s a big mess with plugins and forks of plugins, and forks of forks,… It’s too easy to fork, which makes users less likely to contribute the changes and just work on their version.
  • Scripting, mistakes like typos are very easy to do, and refactoring becomes a big PITA


3 thoughts on “Playing with Ruby and Rails

  1. Re: debugging… you can fire up a server in debug mode and set breakpoints as usual on the Aptana IDE.

    I had lots of problems in the past (using Windows) and I know that some co-workers spent some time until it worked on Ubuntu, but with OSX it “just works” (for me).

  2. Dependency mangagement has improved with the new templating in Rails 2.3. The plugin ecosystem, I completely agree. I guess at some point one needs to decide, is it SVN or git.

    I loved Rails but sadly I have said good bye for now. On Windows it is a complete freakin nightmare, so until I am on a Mac, I am going to get stuck into Python.

  3. Check out ‘ruby-debug’ for debugging. I’ve found it very useful. I also tend to have a rails console open while I’m developing to run quick tests and sanity checks.

    You’re absolutely right about the plugin ecosystem. It’s a mess.

    As for scripting/typos, having a good set of tests helps a lot. You should eventually check out rspec and cucumber.

    Good luck!

Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s