4 ms·
Backwards compatibility is great and all, but at what cost? One of the main reasons why Windows eventually started to collapse under its own weight was backward
by subwindow 15y ago
Backwards compatibility is great and all, but at what cost? One of the main reasons why Windows eventually started to collapse under its own weight was backwards compatibility.
If a piece of software is so tied to backwards compatibility that it cannot change it will, necessarily, die.
That said, statements like "Once added, you can't ever make any changes to lambdas" are obviously bullshit. Programming languages can and do successfully undergo significant changes. Ruby 1.9.2 is a completely different beast than 1.8.0 (including significant changes to lambda sytax), and I'd expect there are few (if any) applications that could be upgraded without significant changes. The same could be said for PHP 4 -> PHP 5, Perl 5 -> Perl 6, and Python 2 -> 3. Contrast those languages to Java, which is largely the same since 2001.
Sure, there's a cost to everybody when you have to upgrade your app, but there's a much greater benefit when it is all said and done.
- angelbob 15y agoRuby breaks these things. But Ruby is not generally even considered for a lot of what Java is used for. Those two things aren't independent. Don't get me wrong, I like Ruby far better than Java. But Ruby is simply not considered a stable enough language for your huge app that you plan to maintain for 20+ years... Nor should it be. Java is that stable. On the flip side, Ruby is improving much more quickly than Java. I write small apps I plan to maintain frequently far more often than I write apps that need to sail onward for 20+ years. Two different market niches, defined by two different groups of customers.
- statictype 15y agoOne of the main reasons why Windows eventually started to collapse under its own weight was backwards compatibility. True. On the other hand, that backwards compatibility is an important reason why Windows was so utterly dominant for so long. It's (as always) a tradeoff.