Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

>What a load of bollocks. For new projects this only matters if libraries aren't ported, which they are for the most part. For old projects, either you're in a situation where you can spend time porting your code to Python 3, or you don't; but as TFA mentioned pep-404, the writing has been officially on the wall ever since 2011 so at that point you have to admit you did choose to incur tech debt and do nothing about it, so the claimed loss of productivity is on you.

I call BS (to counter your "bollocks").

Whether the "writing was on the wall" or not, doesn't change the fact that people had to actively port their old code if they wanted it to run on 3.

Sometimes that code could run into the tens of thousands (or even millions for large companies) of lines.

And why would they do it (and at a great cost and time effort)? For the marginal improvements Python 3 brings?

The "writing has been on the wall" is not an excuse, it's mostly blackmail ("port or else you wont run on 3, and we'll stop the 2.x line"). And most people didn't (and shouldn't) fall for that.



This argument is a reasonable one and is why we all support IE6 for web dev.

However, at a certain point it is worth your time to move forward instead of doing nothing, you gain a little time savings now and you run into few moments of "Oh @#$%^!!" later. Real world example: You don't bother updating ssl to deal with weak DHE and suddenly chrome users can't see your payment site.

My approach has always been to try to front load the work instead of doing it in crisis mode later. It sorta sucks but that's just how software is right now.


Except Python 3.x is bringing controversial changes and was slower than Python 2.x for several years.

If IE7 was slower than IE6, you can't blame people to not move over.


All changes are controversial. In a large enough group, there's no way to make everybody happy. The question is whether the new arrangement makes more people happy long term. Judging by the rate of Python 3 adoption, it took a long time indeed, but it got there.

As for Python 2... well, there are still people signing petitions for Microsoft to bring back VB6. Last one was this year, I think.


There's no controversial changes in python3? Except if you consider print() controversial but that's so silly it's laughable.

There are however non backwards compatible changes, like unicode by default, IE7 was also non backwards compatible so the comparision still holds. (with the exception that IE had a compatibility mode if you sent some magic http headers)


It can be silly, but that was one of the reason I picked Ruby over Python 5 years ago for a project. I felt at the time, Python is awesome, however they are taking a weird path.


Do you still feel that way or anything changed?


As a different person who made the same choice for the same reason at the same time I think I was very right then to avoid the whole mess.

It seems fine now, but there is nothing, as far as server side application coding is concerned, that would make me want to switch from Ruby/Rails.


> it's mostly blackmail ("port or else you wont run on 3, and we'll stop the 2.x line").

Would you also call the RHEL life cycle a blackmail? I'm using version 5 now and the normal support ends in March 2017. My options now are "port or pay extra for extended life cycle or else my RHEL will be without security fixes". And like Python, major RHEL versions break backwards compatibility.


And you went into that RHEL relationship with full information ahead of time. So, your comparison is terrible.


Anyone who started a Python project in the last TEN YEARS had full information ahead of time - pep 3000 came out in April 2006.

Honestly, that 10 years later we're still having this conversation is ridiculous.


>Would you also call the RHEL life cycle a blackmail?

The RHEL life cycle is based on real business needs (and a real business need to balance between newer releases/features and stable environments).

Not on some decree from above that "you should use this new thing".


Yes, and that's why you pay for it. Yet here is somebody complaining about that.

If you e.g. can't be bothered to do continuous integration or automated testing, then you might consider RHEL with it's life cycle to be an acceptable alternative. Which is fine. Just be ready to pay for that service.

Similarly, if you wanted continued Python 2 support, you could have donated time or money towards that goal. I would be surprised if anybody complaining did that. There's just not that much business value in dragging legacy Python further along.


"The RHEL is based on...some decree from above"


We have several large projects that are written in Python. Most of these aee production applications that are critical to what we do, and the others are libraries and tools for internal work. We haven't even started thinking about porting these to python3. We have so many other things to worry about (but fixes, new features, etc) that it's hard to justify the time investment to port these now. I can't imagine we're the only ones in this situation.


You're not, of course. And there are similarly many people running production critical code written in Perl 5 on RedHat 9 or something like that. "If it's not broken, don't touch it" is a wise rule to follow for that kind of stuff.

But to keep it running, you don't really need Python 2.8 with new features, right? You need extended support for Python 2.7 - basically, making sure that it keeps working with updated versions of other software (like OSes), and that bugs are fixed.


>But to keep it running, you don't really need Python 2.8 with new features, right? You need extended support for Python 2.7 - basically, making sure that it keeps working with updated versions of other software (like OSes), and that bugs are fixed.

Those systems are not just sitting there untouched.

Heck, not even 70s COBOL systems are "just sitting there" (they are hooked to newer systems, get new forms, have alterations, etc. all the time), and those Python 2.7 systems have been written 10-15 years before or less.

And they continue to get new subsystems, new features, alterations, etc. In 2.7.

So, yes, people would very much like to get not just "extended support for 2.7" but also the ability to keep running it in newer versions, and be able to take piecemeal adoption of new features to make their life better and eventually organically refactor in their own timeline.


The "writing has been on the wall" is not an excuse, it's mostly blackmail ("port or else you wont run on 3, and we'll stop the 2.x line"). And most people didn't (and shouldn't) fall for that.

So let me get this straight.

1. A bunch of people you've never met and probably have never paid or financially supported,

2. Gave you a high-quality programming language, for free, to use for any purpose you liked,

3. And then when you and they disagreed about the best way forward in a new version, you claimed their refusal to continue supporting and adding new features to the old version for you, for free, essentially forever, constitutes "blackmail" on their part.

Do I have that right?


Let me get this straight:

1) You frame this as some single random individual on HN is the only one that is concerned with the switch.

2) You seem to have missed that companies and individuals that do dislike the switch have contributed to the Python ecosystem, from employing core developers in the past, to creating frameworks, libraries etc that helped Python succeed.

3) You have missed the fact that some (a lot? most?) of the concerned people have actually donated to the PSF through its PayPal donate link (as I've done in the past, and I've used Python since 1998).

4) You seem to think that an open source community project is pretty much "anything goes" and end users be damned. And then the team can complain about "lack of adoption" for the new version.

Do I have those right?


So, do you still think it's "blackmail" when something you were getting for free decides to no longer support the version you like?

Python 3 adoption has been rising for a couple years now as people realize that A) Python 3 is a quite nice language, B) porting to Python 3 is not as hard as people keep claiming it is, and C) Python 2 is going to run out of zero-dollar-cost support one day as the number of people willing to support it without being paid for their trouble diminishes.

If someone does want to commit to supporting Python 2 + backported Python 3 features, they are of course welcome to do so provided they observe the license and trademark terms (not terribly hard to do). But I suspect it won't last very long, at least not as a small-team zero-dollar-cost project. Between Python 3 gaining steam and people staying on 2 in order to avoid work and expense, I just don't think it's going to work out on the kind of decades-long horizon the Python 2 die-hards seem to want.




Consider applying for YC's Winter 2026 batch! Applications are open till Nov 10

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: