Hacker News new | ask | show | jobs
by throwanem 3434 days ago
Until a new point release comes out and everyone forgets about the one you're running. Then you get to find out how much of your code you'll need to rewrite so it'll run with the Rails chefs' wild new menu. And there's no point even trying with an app written for an earlier major version. Just give up now, because the whole ocean's been boiled and recondensed since then, and now occupies but few of the basins it once did.

Granted, it's been a couple years since I dealt with any Rails apps. That's in large part by design, because every Rails app has a relatively high curation cost just to keep it up to date with the latest and greatest, and you have to do that if you want to be able to add features or usefully maintain anything without undue agony, because the Rails community has the collective memory of a goldfish and even less interest in maintaining continuity with the past.

I get that that's the big selling point, the drum DHH and his fans never stop beating: "Rails is omakase." This is a fundamentally broken metaphor, because sushi is dead by the time it gets to you, and all you have to do with it is eat it; the history of the ingredients is of little consequence. Would that software were so simple.

1 comments

> Until a new point release comes out and everyone forgets about the one you're running

This is definitely a pain you'll feel with rails, and any other combination of software pieces which you bring together.

For what it's worth, within the last month, I've touched rails 3.2, 4.0, 4.1, 5.0, and 5.0.1 apps which are running in production. It's possible to maintain these apps on old releases, but the idea of never upgrading will be painful in the end.

It's worse in Rails because of the rate of change and the near-total lack of interest in backwards compatibility. Granted that the change in question often improves Rails' performance or stability, but that so much scope seems to go on existing for such improvements is in itself concerning, and the larger question, of whether it would be wiser to instead invest in a less volatile and more stable platform, remains valid.