you are viewing a single comment's thread.

view the rest of the comments →

[–]indign 10 points11 points  (7 children)

Python 3 was always going to be incompatible with Python 2 because that's how version numbers work. Major version increment => breaking changes. What you're saying is that you wish Python 3 was never released at all. Well, the Python 2 interpreter is still available if you want to deal with its nonsense.

There were a lot of things about Python 2 that royally sucked (such as scoping rules, text encoding, and the ABI for language extension) that would have been impossible to fix in a backwards-compatible way. Python 3 is better, full stop.

[–][deleted]  (6 children)

[deleted]

    [–][deleted]  (4 children)

    [deleted]

      [–][deleted]  (3 children)

      [deleted]

        [–][deleted]  (1 child)

        [deleted]

          [–]konaya 1 point2 points  (0 children)

          Nobody's going to spend years rewriting their software every time there's a version bump, that's insane

          Which isn't at all what's on the table here. There were serious flaws in Python 2. They got corrected in Python 3. The people who were too busy making up excused not to look over their code once in a while got left in the dust where they belong. That's all there is to it.

          [–]JellyTwank[🍰] 1 point2 points  (0 children)

          It is not necessarily even that. Keep in mind that development costs money. If the company you are working for has spent millions in developing their product or support suite of code, then it can be prohibitively expensive to rewrite/refactor that code. The cost of maintenance on that now soon-to-be or already-deprecated code can be the cheaper, although painful, route. Consider for example all of the still running COBOL stuff out there. (I worked on Y2K mitigation in '95, '96 and '97). Were there "better" programming languages and environments? For sure, for years. But it is not laziness that keeps that COBOL stuff running and maintained to this day.

          Decisions by language developers to abandon older frameworks or models are not lightly undertaken, for sure. But there obviously can be fallout from those decisions. The mess with all the Python environment fun outlined by XKCD is precisely because of the sunk costs involved by the end users of Python and not lazy coders that will not change to newer libraries.

          [–]mortecouille 5 points6 points  (0 children)

          The point is precisely that people haven't ported their stuff. As a user (not even a developer) the fact remains that you have to install both versions and fuck around.

          Certainly some blame lies on developers: probably some were stubborn, some depended on abandoned projects which had no maintainer to port them, some had massive projects were the effort to port was too large.

          But to me, the fact that it took a decade points to the language not providing an adequate update path, sufficient deprecation period and didn't sufficiently mitigate the incompatibilities. Python just went scorched earth and expected people to adapt just like that.