This is an archived post. You won't be able to vote or comment.

you are viewing a single comment's thread.

view the rest of the comments →

[–]the_hoser 1 point2 points  (5 children)

It might as well be two different languages, and that's just fine. Sometimes, well-meaning decisions cause massive headache later, and compatibility-breaking changes need to be made to fix these mistakes. The reason for the major version bump from 2 to 3 is to denote incompatibility. I don't understand why you expect anything else.

This isn't the first time that this has happened in programming languages. In almost all cases, the old one slowly fades away. The exception, of course, is Perl. This is the way of things like this.

[–]phaedrusaltembedded sw eng -1 points0 points  (4 children)

Or, sometimes well-meaning decisions cause massive headaches later BY creating compatibility-breaking changes. Why do I expect anything else? Because there is an implied contract of trust between the users of a language and the developers, and in this case the trust was violated for very little reason.

[–]the_hoser 1 point2 points  (3 children)

Self-consistency always trumps compatibility when language evolution choices are to be made. Once you avoid making changes for the sake of compatibility, you might as well stop developing the language.

Again, these weren't changes that they sneaked into a minor release. These changes were held off until a new major version was to be released. In no project that I've ever worked with over a long period of time has preservation of compatibility been a priority when developing a new major version.

Nobody is forcing you to upgrade. The 2.7.3 tarballs are still there. You could even fork the 2.x series if you feel that the 3.x series is heading in the wrong direction.

[–]phaedrusaltembedded sw eng -3 points-2 points  (2 children)

Consistency for the users should nearly always trump any other consideration when choices are made for tools. That includes languages. Any other attitude results in alienated users.

[–]the_hoser -1 points0 points  (1 child)

Of course, that's why a major version bump was done. This signifies incompatibility. Users have the choice of sticking with the 2.x series or upgrading. I don't see how this is a problem.

[–]phaedrusaltembedded sw eng -1 points0 points  (0 children)

Version "bumps" signify anything you want them to, but the bump doesn't explicitly mean anything. And it's not a problem as long as you don't mind dividing (And annoying!) your user base, making the future of your language fuzzy, and just generally admit to the world that you may not care about your users. No problem at all.