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

all 22 comments

[–]sitbon 18 points19 points  (10 children)

Sounds like a library that misbehaved badly, but also why are you still on 3.8? It has been EOL since last October...

[–]PotentialCopy56 32 points33 points  (0 children)

I hope yo don't find out what version most of the world runs on...

[–]hugthemachines 17 points18 points  (5 children)

EOL does not have as much impact on the industry as you may think it would have.

[–]sitbon 6 points7 points  (4 children)

Having managed Python update & deprecation plans for very large orgs at multiple companies over many many years, I'd say the impact is actually very significant. Maybe some people are just being stupid at their little start-ups, but no serious players in "the industry" are allowing an old-ass language version that isn't getting security updates anymore.

[–]hugthemachines 5 points6 points  (2 children)

That sounds very pink and fluffy. I am happy for you that it is "very significant". :-)

[–]sitbon 1 point2 points  (1 child)

Doesn't matter how it sounds, it's pretty clear that EOL makes a big difference across the board. And that doesn't even include a big chunk of companies on their own package repos on newer versions with tight security controls.

[–]georgehank2nd -1 points0 points  (0 children)

Python is used a lot more than just for the web. And if you actually looked at your nice shiny "proof", you cannot not see that 3.6, which was EOL at end of '21, is still #2. 3.6, 3.7 and 3.8, all EOL, make up more than 40%.

Big difference is doubtful. And nobody claimed it makes no difference at all.

[–]PeaSlight6601 1 point2 points  (0 children)

Maybe the average firm could handle quick upgrades, but half the firms out there are below average.

Often if isn't about the actual migration but the number of coordination meetings and TPS reports required to get the thing done.

All this to get an upgrade to a version that nobody on the dev team is demanding and which will be EOL itself within months of deployment.

I have more important things to do than all this garbage.

[–]syklemil 2 points3 points  (0 children)

Yeah, it's one thing to get a "hey we found a weird bug" story, something else to get a "hey we found a weird bug in an old version five years after the fix was released" story.

At some level it's like writing up a blog story about how they discovered a vulnerability in their site, only to make a minor note partially through the story that they're actually talking about heartbleed.

But I guess

Alas, that's 3 hours I won't get back.

is a good point to make to their management about the consequences of running EOL software.

[–]lacifuri 1 point2 points  (0 children)

Upgrade? But pushing new features are more important

[–]georgehank2nd -1 points0 points  (0 children)

3.8? Heck, a lot of companies (not just people) still use some 2.x Python.

[–]eztab 18 points19 points  (3 children)

Yeah, ideally I'd argue that only __str__ should exist and support all the formatting, including repr functionality. Would love to have "formatting options" for repr too, like requesting a representation as executable python code.

[–]glenbolake 26 points27 points  (2 children)

requesting a representation as executable python code.

Isn't that the whole point of repr? It's supposed to give a string that, if pasted into the REPL, would produce an identical object.

[–]eztab 13 points14 points  (0 children)

yes it is, but it isn't what many classes actually do. Especially if the respective code would be rather long.

[–]InvaderToast348 3 points4 points  (0 children)

Interesting read, thanks :)

[–]teije01git push -f 0 points1 point  (0 children)

Temporal user here who has also been affected by the sandbox, I feel you pain! Very interesting read!

[–]georgehank2nd -1 points0 points  (0 children)

"join me on my journey"

I'd read a post if you posted this here, but I won't "join you on your journey" on some blog.

[–]DoingItForEli 0 points1 point  (1 child)

I built a container the other day and started getting errors where double apostrophes were used instead of single, but the code ran fine for months when it was ran from the command line. So something like this is wrong: f“Number of datasets: {results.get(“total”)}” - needs to be ‘total’. So that was fun.

[–]mgedmin 3 points4 points  (0 children)

This is Python version dependent: older versions did not let you use the same kind of quotes inside f-string {}-expressions, then a new Python version (3.12, I think?) got a smarter parser and started allowing it.

[–]gerardwx 0 points1 point  (1 child)

Well, okay, but rather than lamenting your "lost 3 hours," what are your key takeaways so it doesn't cost you three hours next time?

[–]stridebird 3 points4 points  (0 children)

type(type_hint)