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

It's important for code to be clean and free of old cruft, even if that means old code has to change. Readibility is one of the most important aspects of maintainable code. Arguably more important than testing, IMHO. This is another reason open source solutions so consistently win over corporate ones, the open source world understands this.

Are there changes I disagree with? Of course. But I'd rather live in a world that moves forward and occasionally breaks me, than one where I have perfect compatibility but am stuck on code lacking the new innovations my competitors benefit from.

The whole idea behind deprecating things is to give people time to make the changes before they become breaking.

I went and looked: exists? was marked as deprecated in 2013 and removed in 2022. That's enormously generous, my previous comparison with the disttools debacle in python was inaccurate. You had a decade!



When exists? was removed, it was roughly an order of magnitude more popular in Ruby code on Github than exist?. I don't think you can argue from the position of improved readability when, given the choice, it was what the majority of people expected, wrote, and had to change. This change in Ruby is pretty difficult to defend. It didn't really do much but break people without giving them anything in return. It didn't improve maintainability of Ruby itself, it didn't make maintaining Ruby code easier, it didn't advance any secondary goals to improve Ruby.

10 years is not an especially long time period for a software project to be maintained. There's a reason the Linux project is so emphatic that it never breaks user space.




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

Search: