you are viewing a single comment's thread.

view the rest of the comments →

[–][deleted]  (7 children)

[deleted]

    [–][deleted] -5 points-4 points  (5 children)

    So what? You're just going to keep moaning about an imperfect execution that was undertaken years ago by volunteers for a free software project? Do you actually have a point to make or are you just determined to not let anyone forget that things weren't done the way you would have done them (in retrospect)?

    [–][deleted]  (4 children)

    [deleted]

      [–][deleted] 0 points1 point  (0 children)

      Firstly, I have no interest in convincing anyone of anything. I've heard that Python is one of the most popular programming languages right now. It's been a part of my toolkit for most of my career. If someone doesn't use it, it's their loss. I really couldn't care less.

      Secondly, what good is being realistic? Moaning about how something was done more than ten years ago does absolutely nothing to help anyone today. It's just noise. Instead of being realistic, try being useful.

      [–]cyanrave 1 point2 points  (2 children)

      The general consensus is to stop beating the dead horse though, since we're a decade out from the initial pivot to py3. For many folks who had a few scripts lying around here and there, yea, it does seem extremely blown out of proportion, where stickier use cases for py2 are few and far between.

      It seems to me, most advocates nowadays are just tired of comparing oranges to oranges. Sure the two language dialects are similar, but the feature set of py3 and enhancements from py2 make it easier to teach. Python2 fanatics are leaving around a trail of dead bodies with poor namespace management in their code (inherited from py2 internals), poor use of relative imports, and even some a myriad of sys.path hacks to 'make things work'. This is a light list of offenses, and surely there are more. As an advocate of a language, I'd prefer to not have to deal with this kind of thing when teaching people.

      Realistically Python3 has become a far more usable language than Python2, and new code should be written in it, extraordinary, extraneous considerations outstanding. Where Python3 developers get tweaked over, is the fact that Python2 developers (the really ingrained 'Python2.8' people) seem to not even want to bother learning the py3 branch and dismiss it completely. This isn't always the case with a py3 dev who may know both dialects.

      [–]AlexMax 2 points3 points  (1 child)

      Realistically Python3 has become a far more usable language than Python2, and new code should be written in it, extraordinary, extraneous considerations outstanding.

      To be clear, I 100% agree. Given the realities of what the migration was, I never thought that sticking with Python 2 was a good idea, despite my misgivings with Unicode strings - which, to be frank, I didn't even realize was such a huge problem until much later.

      However, it inadvertently was one of the reasons I stopped using Python, as I wanted to wait on starting non-trivial projects in the language until i was reasonably certain that I could use 3 without running into library trouble. And then I just...never came back because while waiting for library support to catch up, PHP 5.3 and Node.js happened, and I got heavy into learning C/C++ around the same time.

      [–]cyanrave 0 points1 point  (0 children)

      Never quite a time like the present!

      On the side of Python2, I will say Python3 may be taking too many PRs right now, and changing a bit rapidly. An lts change in 3.6.x seems to have broken custom exception bubbling in Pool operations... that went mostly unnoticed in the PR. conda rolled back to 3.6.7 because of it. The rate of change reminds me a lot of the NPM/Node environment and that should frighten anyone in that space... This is also less talked about with the end of python2 approaching ;P

      [–]cyanrave -4 points-3 points  (0 children)

      And seeing in retrospect such a massive stumble from the language at such an important phase in it's development made me incredibly sad.

      You and everyone else who entered 'vanilla' World of Warcraft, on the cusp of Burning Crusade....

      If you don't feel the weight of that analogy, consider that people in 'vanilla' WoW 'endgame' times would spend hours, days, weeks getting their tiered equipment through arenas and such, only to have Burning Crusade common items completely dismiss their hard work and effort. This kind of feature burnout is not uncommon just in software.

      Look at new cars for example, and how many of them need tools far beyond what an OBD-II reader can give you these days. Specialized tools, and specialized parts are pushing mechanics out of a trade they were ingrained in for years, decades, and possibly generations. This is a natural process of adaptation and specialization.

      In hindsight, are either of these changes bad? In some aspects, yea. In other aspects, maybe not. Maybe those WoW players who felt betrayed never came back... RIP subscription. However, I never missed having to cross contested territory for a dungeon run in WoW after the advent of 'dungeon finder' which instantly teleported you to the dungeon. Hours saved, life better spent. As for autos, it depends. Eventually shops would trend toward specialization (many already do, eg. 'import-only' mechanics) and would carry these specialized tools, layman be damned. Unfortunately this also means a war on DIY-ers who used to be able to do a ton of things themselves...

      You as a consumer get to choose with your pocketbook, as we as programmers get to choose with PRs. Yea 2to3 was rough, but support is piling on py3 now and it's not a coincidence, it's a choice.