News for hackers. Stuff that matters.
Re:Sunsetting Python 2 by kortilla on Monday September 09, 2019 @10:13AM (#20918345)
Well it’s a shitty analogy because a swap to torx is basically a single API change.

The switch to py3 is more akin to using a new building material. Easy to start with once you know the differences, but it’s a bitch to retrofit if you depend on a method of construction incompatible with it.

“Go change the dependency” is a naive ideal. Most non-tech businesses have no budget for that kind of tech debt work.

Re:Sunsetting Python 2 by mindcrime on Monday September 09, 2019 @01:21PM (#20920131)
Most non-tech businesses have no budget for that kind of tech debt work.

That's fine. I'm sure there are some that also don't have a budget for fire insurance, or a security system, or whatever. For anybody who wants to gamble with no fire insurance, or not fixing tech debt, that's a conscious choice they get to make. Now they have to be responsible for the outcome(s) of their choices.

Re:Sunsetting Python 2 by kortilla on Monday September 09, 2019 @09:47PM (#20924425)
Using python2 is in no way similar to going without fire insurance. There are internal-only apps that will run fine for decades to come with no risk to the business on py27.

There are many maintenance mode projects where the switch to 3 represents absolutely no upside and is all downside risk. Not everyone is developing web apps in constant flux that are exposed to the Internet. That is a tiny fraction of python’s use cases.

Re:Sunsetting Python 2 by speedplane on Tuesday September 10, 2019 @11:08PM (#20936229)
> I'm sure there are some that also don't have a budget for fire insurance, or a security system, or whatever. For anybody who wants to gamble with no fire insurance, or not fixing tech debt, that's a conscious choice they get to make.

A security system and fire insurance is at most around $2000/month, and it's a cost that is understood and often required by law. Diverting a $100k+/year employees to spend their time on tech debt is quite a bit more expensive.

Companies rightly try to minimize time devoted to tech debt.

Re:Sunsetting Python 2 by cosmodisk on Monday September 09, 2019 @05:01PM (#20922442)
Actually most of them do money, however in these type of companies tech people aren't listed to as much,as maybe sales or finance are. It just depends on who's running the circus on the day: if it's a guy with short term goals only- you'll never get a budget,but the ones with longer visios would most likely listen.
Re:Sunsetting Python 2 by philwelch on Monday September 09, 2019 @10:55PM (#20924681)
There's not budgeting for fire insurance or security systems, and then there's deliberately building your workplace next door to an asylum for pyromaniacs and across the street from a gas station.

If you built software using Python 2 at any point in the past 5 years, you have no right to complain about the added technical debt of updating to Python 3. But not wanting to incur that technical debt in the first place would also have been a good reason not to use Python 2 in the first place; whether that means adopting Python 3 early or simply using a completely different language.

Re:Sunsetting Python 2 by gridlockd on Monday September 09, 2019 @02:34PM (#20920931)
"Hey boss, we're gonna use this hip new language that will break everything for no good reason a few years down the line."

Congratulations. You're fired.

Re:Sunsetting Python 2 by mindcrime on Monday September 09, 2019 @02:38PM (#20920961)
"Hey Joe, why did our customer database get leaked and published on a dark-net site?"

"Hey boss, we're using an outdated programming language for which security updates are no longer provided, because we were told there's no budget for fixing technical debt."

"Congratulations, you're fired."

Same outcome either way... might as well make some effort to do the right thing along the way...

Re:Sunsetting Python 2 by kortilla on Monday September 09, 2019 @09:55PM (#20924465)
You’re confusing runtimes with the language. Py27 as a language has no security flaws that would allow a database to get leaked.

People will continue to use py27 going forward with likely a pay-for-support runtime because that’s cheaper and less risky than changing a million lines of python code.

Re:Sunsetting Python 2 by a_t48 on Monday September 09, 2019 @11:35PM (#20924830)
I would assume it’s the dependent libraries in your 27 project that no longer get support, not the language itself.
Re:Sunsetting Python 2 by paulmd on Tuesday September 10, 2019 @12:51PM (#20930264)
Nah, you're not fired. That's why you CYA and get it in writing. It's the manager who decided that they didn't want to do a rewrite, it's not your problem they didn't listen to your advice.

Like it or not, there are a lot of teams that choose to incur technical debt to avoid what is seen as needless work on something that is working fine at the moment.

Re:Sunsetting Python 2 by gridlockd on Monday September 09, 2019 @02:53PM (#20921106)
You're missing the point. If decision makers saw it coming that Python will just break in two, they would have never allowed its use. Other "serious" programming languages rarely if ever break, and when they do, it's usually minor.

Python2 will almost certainly still remain in widespread use and it will still get security updates through alternative distribution channels. It's not that much work fixing such relatively rare issues versus migrating a major codebase.

Re:Sunsetting Python 2 by mindcrime on Monday September 09, 2019 @03:45PM (#20921674)
It's not "broken"... Python3 is just the evolution of the language. Languages change and evolve, some more and some less than others. Sure, Java or COBOL maybe have done a better job of not breaking backwards compatibility, but Python 3 isn't exactly Perl 6 here.

But hey, if some 3rd party group effectively forks the language and maintains a Python2 branch after the official EOL date, good on them. But I'd argue that using that is risky in the same way that using a Pale Moon or Waterfox is (arguably) riskier than using mainstream Firefox.

Re:Sunsetting Python 2 by spider-mario on Sunday September 22, 2019 @02:32PM (#21043019)
> Python 3 isn't exactly Perl 6 here.

For what it’s worth, Perl 6 can load Perl 5 libraries: https://github.com/niner/Inline-Perl5

Re:Sunsetting Python 2 by gridlockd on Tuesday September 10, 2019 @06:27AM (#20926704)
> It's not "broken"... Python3 is just the evolution of the language.

Python3 broke compatibility for spurious reasons. The language didn't change that much, it could have kept compatibility with minor concessions.

> Java or COBOL maybe have done a better job of not breaking backwards compatibility...

Literally every single other major language has done a better job at it. That's a big part of why they are major languages. Also, most of these are statically typed, so any minor breaking change is far less risky to pull off.

> ...but Python 3 isn't exactly Perl 6 here.

Well, maybe if Perl6 didn't happen Perl wouldn't be irrelevant today.

Re:Sunsetting Python 2 by chungy on Tuesday September 10, 2019 @07:22AM (#20927020)
> Literally every single other major language has done a better job at it.

C++'s upgrade woes make Python 3 look downright trivial in comparison.

Re:Sunsetting Python 2 by gridlockd on Tuesday September 10, 2019 @07:49AM (#20927178)
What are you talking about? C++ has had very few breaking changes in the language.

If you're talking about ABI breaking, that's a different story. Python breaks the ABI in every major release as well. That generally requires a recompile, not a major code migration.

Re:Sunsetting Python 2 by mgkimsal on Monday September 09, 2019 @05:36PM (#20922723)
IceWeasel FTW.

Security through obscurity, baby...

Re:Sunsetting Python 2 by dragonwriter on Monday September 09, 2019 @03:57PM (#20921795)
> “Go change the dependency” is a naive ideal. Most non-tech businesses have no budget for that kind of tech debt work.

Every non-tech business that maintains technical infrastructure finds itself doing that kind of tech-debt work regularly (if, often, chronically behind the vendors recommended schedule) for every platform they use Py2 to Py3 may (or may not, really) have been a bit more painful than a (multistep, because those types of shops never do it timely enough that a single-version-bump makes sense) .NET framework, Visual Studio, SQL Server, and Windows Server upgrade (and, yeah, those often happen together as multistep upgrades in slow enterprise shops), but it's not a fundamentally different kind of problem (and replacing dependencies that didn't make the same upgrade, often because they were abandoned years before the firm made it's upgrades, is often a part of that.)

Re:Sunsetting Python 2 by code_sloth on Monday September 09, 2019 @11:30AM (#20919067)
> Most non-tech businesses have no budget for that kind of tech debt work.

The thing about debt is that ignoring it doesn't make it go away magically. If business relies on tech for crucial functions, it's only a matter of time before debt comes due.

Re:Sunsetting Python 2 by enraged_camel on Monday September 09, 2019 @11:24AM (#20919006)
>>”Go change the dependency” is a naive ideal. Most non-tech businesses have no budget for that kind of tech debt work

If you don’t push your clients/employer to have room in their budgets for these types of things, you are the one being naive.