Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

I believe that Rails does sacrifice something in terms of stability compared to other projects, but that is also what allows Rails to be a industry-leading framework 7 years in. If you are a developer stuck supporting a lot of old Rails 1.x and 2.x projects with no budget, then absolutely you will feel the pain of upgrading and marginal legacy support that you wouldn't necessarily feel had you gone with a more venerable Java stack (for instance). That said, if you are actively building an application over several years then the forward development of Rails means greater productivity and functionality on an ongoing basis rather than being stuck with an outdated framework.

My current project is over 4 years old, started in the Rails 1.2 era, 100+ models, 30+ gems, 50k LOC, and I can vouch for the pain that the Rails 3 upgrade caused. That said, the upgrade gave us a lot of immediate benefits: the rails_xss upgrade forced us to close a number of small XSS holes that we probably never would have found otherwise, the Bundler upgrade solved several real-world deployment issues that led to downtime over the years, ActiveRecord 3 allowed us to clean up a ton of hairy querying code we had written with its fantastic composability and laziness, the modularity and instrumentation allowed massive logging and generator improvements to be inline with project standards, the ActionMailer API allowed us to significantly DRY up our extensive email notification suite.

In short, Rails development is still definitely heading in the right direction for my organization. There's no doubt that API stability is better in many other frameworks, but as Yehuda points out here, the changes made in Rails are done for good reason that can benefit a lot of people. If stability is more important than agility for your project (without disparagement), then Rails is probably the wrong choice (I tend to use PHP in those cases).



Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: