Live data from Hacker News

Sunsetting Python 2

python.org

371–380 of 733 posts

Re: Sunsetting Python 2

#371
It seems everyday that history moves on, anyways this is a historic day and I applaud the principal's for making a difficult decision. I wish them all the best.

I've only used python for scripts and such and pandas for data-analysis at my last job.

Re: Sunsetting Python 2

#372

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".

Same with 'utilize' -> 'use'

And 'A.I.' -> 'Algorithm'

Re: Sunsetting Python 2

#373

Earlier quoted context omitted.

This x 1000. “The free libraries we chose to depend upon haven’t migrated.” Do you have programmers? “Of course.” Put them to work. “We have other priorities.” Well then. Your choice, your outcome.

This attitude is ridiculous. I'm supposed to go and tell all the various projects that I depend on that they have to change their upgrade timescales to suit mine? Even if I had enough time to help them all meet that kind of timescale, why would they agree to fit their changes into my required deadline? Maintainers are under a lot of pressure. Having users come along and say "we'll add 50 developers to your project if…

This is the reality of having lots of open source dependencies. Important changes/bugs may exist, and the maintainers are under no obligation to fix them to suit your business needs. If you want them fixed, you contribute to the code base (or fork it) and fix it.

Still better than my last programming job where the vendor of a vital piece of HW had provided a C++ API (also vital), but refused to provide dlls that would work in anything newer than VS2010. At least with open source you can do something about it.

Re: Sunsetting Python 2

#374
I think the sunsetting is very premature. Python 3 became a stable and viable alternative only since 3.6.1 (look at the evolution of async/await before that for example). Giving it 2 years is definitely not enough for enterprise (unless their focus is startup, tinkerers and data scientists)

Re: Sunsetting Python 2

#375
post #268
post #240

Python 2 to 3 (at least by 3.3 or so) was one of the easiest transitions I've ever done. There's a library ("six") to help, and in almost all cases you can write 2-and-3 compatible code, which means you can go piece-by-piece. (Unless your manager makes drive-by commits of py2-only code, months after you all agreed that all new code should be py3-compatible, and then leaves town for a multi-week vacation...) Dependenc…

One of the easiest compared to what? Certainly not a Python point release. A couple of points: 1. Python core dev pretended Python 3 was good and ready by, like, 3.1. It wasn't. 2. While your problem may have been painless (I'm glad), that doesn't mean that everyone who complained was just complaining. (I use Python 3 as the default now, but as someone intimately involved with an async IO library at the time it came…

You've got to let go of these grudges. Time has past, enough time that you shouldn't be complaining about these things here, because all you're doing is giving the Python 2 "out of my cold dead hands" crew more ammo.

Just let it go...

Re: Sunsetting Python 2

#376

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…

How much did you personally contribute to the success of Python, or any of the dozens of FREE software tools you probably use daily (and perhaps hundreds or thousands, once you factor in transient dependencies), to justify such criticism for their work?

Some of their “bad” designs were made decades ago, before it was even clear where the industry was going. Take Unicode: lots of bets were made on that, and arguably Windows got it way wrong. Sure their APIs are still “compatible” but what is that worth, when strings are an inconsistent mess that to this day require developer hacks? And that’s an OS people pay for, written by competent engineers as well.

If you don’t like your free software, please feel free not to use it anymore.

Re: Sunsetting Python 2

#377
post #315

Earlier quoted context omitted.

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 enginee…

This seems extremely pedantic. "Use case" as it's used today basically just means "case" or "situation" for a particular project or task or goal (edit: and for a particular individual/group/entity/organization). It's not business jargon or a buzzword term, even if perhaps it started off that way many decades ago.

I can think of countless annoying corporate buzzwords I see all the time on HN or at my job which are totally opaque and useless. "Use case" is two simple English words which anyone, including non-tech people, uses and clearly understands. This is not the hill to die on. I could link so many comments posted in the last week which are infinitely more buzzword-laden and irritating. If you really feel the dire necessity to chastise them, at least pick one of of those.

I do partly agree with you on "moving forward" or "going forward". I'm skeptical the situation was nearly as ambiguous as you suggest (it means "in the future", which is ambiguous, but it's no more ambiguous than saying "in the future", and anyone can easily request clarification if they hear "in the future"), but I had a few managers who said and wrote that like 30 times per day, and it does start to get on your nerves. Perhaps "use case" is similarly overused by some, but it also has a specific and clear meaning which would take longer to say/write than just using the term.

Re: Sunsetting Python 2

#378

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…

No one is saying you can no longer use Python 2. The community is just saying that if you do, you're more or less on your own. Python 2 won't magically stop working on Jan 1 2020.

Re: Sunsetting Python 2

#379
post #293
post #261

One thing that confuses me about Python is just how many projects don't specify if the app is supposed to use 2 or 3, and the correct answer isn't 'either'. Check out something from Github, only to find I actually do need Python 2.7 or something. Is it that Python developers assume everyone will just intuit the version, or is there a default?

Rule of thumb is that no version == python2, either because it pre-dates 3 or because the developer's concept of python is "what happens when I type python at the shell" so it's still 2. It's often a big red flag about quality; competent Python developers find it natural to state py3 support upfront (or lack thereof) because they know it matters.

Eh. Disagree. For small projects on Github that are actively maintained, it's more likely to be Python 3 and not Python 2 if not explicitly stated. Newer developers for newer projects just don't care about Python 2.

Re: Sunsetting Python 2

#380

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 develope…

I'm on the outside looking in but practically speaking, why couldn't I "just use Python 3" then for everything?
Post reply on HN