Live data from Hacker News

Sunsetting Python 2

python.org

361–370 of 733 posts

Re: Sunsetting Python 2

#361
post #315

Earlier quoted context omitted.

> For my personal use case at least, this timeline worked out well for me. Hint for Hacker News commenters: 99% of the time, if your phrase includes the term "use case", you can safely just delete it and lose no meaning. It's just a way to say "for me" or "for them" that sounds more technical but really isn't. In this case, you could say "This timeline worked out well for me".

To me, "for me" and "for my use case" mean subtly but genuinely different things. "For me" highlights the fact that my preferences, character, skills, etc., are different from other people's. Something might work well for me but badly for someone else because I happen to be good at working around its quirks, or bad at noticing its faults, or just not interested in the things it doesn't do. "For my use case" highlight…

Corparate-speak that makes its way into common language is frequently justified post-hoc by subtle differences in meaning like the ones you allude to. The problem is that these differences are personal and subjective. Ask someone else, they might have a different answer. I have had the same discussion multiple times over the equally meaningless and inelegant "going forward".

"Use case" comes from 90s software engineering: https://en.wikipedia.org/wiki/Use_case

Corporate-speak and cliché idioms makes one sound less clever, not more. It might temporarily signal belonging to some crowd (for example, the HN tech crowd), but in the long term it hampers one's ability to communicate in an effective and elegant way.

Re: Sunsetting Python 2

#362

Earlier quoted context omitted.

If 12 years is too short, how long timescale do you need? Python 2's EOL was first announced in 2008.

To be honest, never. I work on a C program that's about 30 years old. We've slowly moved, at our own pace, to C99, then added some C++ here and there. I don't ever want to have a forceful change, where I have to go and edit code which has worked correctly for over 15 years, just to make a compiler happy.

GCC deprecates and removes support for target architectures and various other flags with each major release. If you care about receiving security updates for your application, you have to upgrade the compiler, and to upgrade the compiler you may have to make changes to your application and/or physical hardware. Very few of the architectures that were available 30 years ago are still supported by any maintained compiler today.

Similarly, developers are not forced to upgrade to python 3 any more than they are forced to upgrade to GCC 4, in that they can keep using their old tools but they're SOL on maintenance if they don't meet the requirements of the new versions.

So, either your team chose really well 30 years ago, is actively working on an horribly insecure application, or has invested some modicum of effort periodically over the last 30 years to maintain support with the compiler (unlike the developers complaining about Python 3's upgrade window).

Re: Sunsetting Python 2

#363
post #311
post #270

Earlier quoted context omitted.

Your argument ignores that 2.7 was held onto for a decade. Legacy applications did not hold back adoption.

Which still seems like a short period of time, considering timelines in engineering are to support a version for 60 years.

>considering timelines in engineering are to support a version for 60 years.

In the vast minority of cases.

Not in most electrical engineering (except power plants), nor in computer engineering. 60 years ago was 1959. What software/computer project from that time is still running?

Even moving outside of the electrical domain, how many physical products outside of civil engineering is expected to last that long. I certainly can't expect support for my car for longer than 25 years.

Re: Sunsetting Python 2

#364
post #62

In 2015, there was no way I could have moved to Python 3. There were too many libraries I depended on that hadn't ported yet. In 2019, I feel pretty confident about using Python 3, having used it exclusively for about 18 months now. For my personal use case at least, this timeline worked out well for me. Hopefully it works out for most everyone. I can't imagine they made this decision without at least some data backi…

This makes me wonder, are there any software frameworks and languages that are specifically built for multi decade use? Where they only release security updates and no breaking changes?

Many compiled languages might have breaking changes at the language level but are still compatible at the dll/binary level. Java 1.0 and C# 1.0 code can still be compiled and run on modern JVMs and CLRs, and rust 2015 and 2018 work together as well.

Re: Sunsetting Python 2

#365
post #324
post #311

Earlier quoted context omitted.

Which still seems like a short period of time, considering timelines in engineering are to support a version for 60 years.

You can keep running Python 2 just like you keep your COBOL systems running, nobody's gonna stop you except common sense.

Right, but in engineering it's kind of expected to get support for a version for at least 60 years. Software engineering is just really weird in that it moves so fast and nobody seems to care to break things.

Re: Sunsetting Python 2

#367

Earlier quoted context omitted.

> For my personal use case at least, this timeline worked out well for me. Hint for Hacker News commenters: 99% of the time, if your phrase includes the term "use case", you can safely just delete it and lose no meaning. It's just a way to say "for me" or "for them" that sounds more technical but really isn't. In this case, you could say "This timeline worked out well for me".

I don't necessarily think you're wrong, but HN has a history of comments like this that criticize other comments and add nothing to the discussion. Mine is another example, but since you got the ball rolling I figure I might as well chime in. I think the grandparent's usage of "use case" was totally fine. It wasn't distracting and it didn't change my reading of that comment in any way, shape, or form.

> HN has a history of comments like this that criticize other comments and add nothing to the discussion

I disagree. HN is a place that seems to pride itself on the quality of its discussions, and on a higher intellectual caliber when compared to other Internet discussion venues. Surely a good command of language is part of that?

Re: Sunsetting Python 2

#368

Earlier quoted context omitted.

I don't necessarily think you're wrong, but HN has a history of comments like this that criticize other comments and add nothing to the discussion. Mine is another example, but since you got the ball rolling I figure I might as well chime in. I think the grandparent's usage of "use case" was totally fine. It wasn't distracting and it didn't change my reading of that comment in any way, shape, or form.

> HN has a history of comments like this that criticize other comments and add nothing to the discussion I disagree. HN is a place that seems to pride itself on the quality of its discussions, and on a higher intellectual caliber when compared to other Internet discussion venues. Surely a good command of language is part of that?

[deleted]

Re: Sunsetting Python 2

#369
I would have loved to upgrade sooner, but I work in technical art and all our tools are version-locked by native python extensions and QT5's compat. See discussion at: https://vfxplatform.com/

I predict Maya devs (and, by extension, game engine vendors. like Epic/Unreal, who version-lock to Maya's version) will stay on 2x well past 2020 by making their own platform-compat patches.

Re: Sunsetting Python 2

#370

That's why Python receives a bad name, and for a good reason. Nobody is telling people who use Java since version 1 that they need to upgrade code if they want to continue using the language. The code just works, and will continue to work as long as there are compilers for Java. The same thing about C and C++, these languages introduce new features as times evolve, but they still allow users to retain their investmen…

>Nobody is telling people who use Java since version 1 that they need to upgrade code if they want to continue using the language. The code just works, and will continue to work as long as there are compilers for Java

This is the same with Python. Python 2 code will continue to work with python 2 interpreters, just as java 1 code will continue to work with java 1 JVMs and JDKs. But neither are being actively developed and Oracle will not even sell support for java 1, let alone release security updates.

Post reply on HN