Slashdot Mirror


Is Ruby on Rails Maintainable?

kale77in asks: "I've become a big fan of Ruby over the past few months, but I'm not at all sure about Ruby On Rails. Automatic code generation sets of alarm bells in my mind; so that, to RoR's promise of 'Web Development that Doesn't Hurt', I automatically add '...until you have to maintain it'. On the other hand, some writers and coders I respect (like the Pragmatic Programming mob) seem to be fans. I've mainly written generators in Python, to produce PHP/SQL/Java from SQL files, but I've always gone back to well-constructed objects, where extension and overloading offers more precise and maintainable customization than auto-generation allows. So is Rails just a nice RAD tool for disposable, cookie-cutter apps (which have a place, of course)? Is high-level generation just a bad OO substitute? And what has your experience of Rails' maintainability been?"

3 of 348 comments (clear)

  1. Article is a troll. by Anonymous Coward · · Score: 0, Troll
    Anyone who'se spent more than 30 minutes with RoR will realize that the automatic code generation really serves the purpose more like examples from books for other frameworks.


    You'll re-write them entirely and check your new code into whatever source-control system you prefer (SVN, Darcs, etc) before your first day is over.

  2. Have you ever used it? by realmolo · · Score: 0, Troll

    You seem to be under the impression that the "scaffolds" in Ruby On Rails are all there is. That's not true.

    Once you abandon the scaffolds, you can do whatever you want. And it's easy to maintain.

    You don't know what you're talking about, in other words.

  3. Re:Yes, very by spludge · · Score: 0, Troll

    I am commenting on the Ruby language, not RDoc. The RDoc parser which I was writing an extension for happens to be written in Ruby. It may not be part of RoR, but you can make the same comment on ActiveRecord. It suffers from same issues. It's extremely hard to trace ActiveRecord execution due to the dynamic and cryptic nature of Ruby.