Live data from Hacker News

Why I'm Making Python 2.8

naftaliharris.com

51–60 of 392 posts

Re: Why I'm Making Python 2.8

#51
People don't seem to be considering the possibility that a stagnant python 2.7 may actually be a reason to like that version of the language. I must admit it is nice to not have those oh-so-keen python developers messing with my favorite language.

However, I recently had a gig working in py3. Apart from screwing up every single print statement for a long time, it was entirely drama-free, and actually pretty great. There really is a difference between living and dead languages I think. 2.7 is the latin of python.

Re: Why I'm Making Python 2.8

#52

Earlier quoted context omitted.

> Please, do not put obsolete software on life support. Downvoting because Python 2 is anything but obsolete. People still love using it.

People in China were, until just a few years ago, still using Windows XP, too, though.

Yeah, so for them it wasn't obsolete. For other communities it was. I don't see the problem. Obviously obsoleteness (word?) isn't a property of the product; it depends on the context (how much it's used, what else is available, how much the alternatives are used, etc... however you want to weight them).

Re: Why I'm Making Python 2.8

#53

Earlier quoted context omitted.

> This should have been the approach to modernising python all along. The core driver for the Python 3 break was the fix in text model, this is what allowed literally everything else as it completely broke existing code. And I, for one, think it's one of the most important improvements of Python 3, the text model of Python 2 is a giant mess and makes it very hard to correctly deal with non-ascii text for any non-triv…

> the text model of Python 2 is a giant mess and makes it very hard to correctly deal with non-ascii text for any non-trivial software There are counter-arguments to this. Armin Ronacher, author of (among other software) the excellent Flask web framework, thinks that Python 2's system of codecs and byte streams is better in practice [1][2]. Reasons include: You can do byte -> byte conversions with codecs that are no…

> Armin Ronacher, author of (among other software) the excellent Flask web framework, thinks that Python 2's system of codecs and byte streams is better in practice.

Armin Ronacher works in a very specific context of having to deal with byte/text interfaces in pretty much all his projects, and while I can see where he comes from I work at a different level and at the level at which I work the P2 model is a giant pain in the ass.

> [1] http://lucumr.pocoo.org/2011/12/7/thoughts-on-python3/

http://lucumr.pocoo.org/2016/11/5/be-careful-about-what-you-...

Armin is no foe of Python 3. And as noted in the essaye Python 3 has undergone several improvements or features reintroductions e.g. PEP 461 reintroduced C-style formatting to bytestrings, making generating binary data (especially ascii-based formats) significantly more convenient than it is between 3.0 and 3.4.

Also note that Armin has repeatedly praised Rust's text model, which is much more similar to P3's than P2's (except with static types and no messy legacy).

> and here he describes several embarassing failures of Python 3 to handle OS paths correctly

And (fucking surprise) the issue with that is the text model of FS paths is an embarrassing pile of garbage, Python 2 is convenient because it doesn't try to touch that mess at all and just hands the flaming bag of shit to whoever comes next.

Re: Why I'm Making Python 2.8

#54
post #40

Earlier quoted context omitted.

I'd argue Python 2.7 counts as no longer produced. The 2.7.x releases with their bugfixes are akin to an electronics company still honoring the warranty of tape recorders and still repairing them. That doesn't mean tape recorders are not obsolete, especially since the company is not making them anymore. I consider the parallel 'making software' to be the process of feature proposal -> patch -> review -> merge

In your eyes is anything that isn't getting more and more features added every few months necessarily obsolete? Can't something just become mature and fulfill its goals at some point? Do you consider T-shirts to be obsolete too? If they kept adding more and more attachments ("features") to your clothes every few months to prevent them from becoming "obsolete" you'd be walking around in really heavy clothing...

Tape recorders are not still being made; verdict: obsolete

T-shirts are still being made; verdict: not obsolete

Python 2 is not still being made; verdict: obsolete

Re: Why I'm Making Python 2.8

#55

Earlier quoted context omitted.

People in China were, until just a few years ago, still using Windows XP, too, though.

Yeah, so for them it wasn't obsolete. For other communities it was. I don't see the problem. Obviously obsoleteness (word?) isn't a property of the product; it depends on the context (how much it's used, what else is available, how much the alternatives are used, etc... however you want to weight them).

[deleted]

Re: Why I'm Making Python 2.8

#56

Earlier quoted context omitted.

isnt that what six already does ? https://pypi.python.org/pypi/six

Future supersedes Six: http://python-future.org

Literally the first time I've heard of python-future. How is it that you claim it supercedes six?

Re: Why I'm Making Python 2.8

#57
post #54

Earlier quoted context omitted.

In your eyes is anything that isn't getting more and more features added every few months necessarily obsolete? Can't something just become mature and fulfill its goals at some point? Do you consider T-shirts to be obsolete too? If they kept adding more and more attachments ("features") to your clothes every few months to prevent them from becoming "obsolete" you'd be walking around in really heavy clothing...

Tape recorders are not still being made; verdict: obsolete T-shirts are still being made; verdict: not obsolete Python 2 is not still being made; verdict: obsolete

Python 2 is still being "made" in the sense you consider T-shirts are still being made, though. it's still provided for download, and people are downloading it and using it, and even using it for new things. Heck, it's even getting bugfixes which is a plus. It's just not getting features added, and it happens to be software so reproducing it happens to be trivial compared to "hardware" like clothing.

So, do your comparisons correctly. No matter how much you insist, Python 2 just isn't dead (or obsolete, etc.). Lack of new features doesn't imply obsolete.

Re: Why I'm Making Python 2.8

#58
post #33

> And the majority of Python code written does not run under any of the 3.x interpreters. This makes it harder for its users to be productive. 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 writ…

Yes totally agree. In the end this won't matter because the momentum of the ecosystem is so great at this point but it just baffles the mind that someone would think this is a good idea, especially with the "can't run on 2.7 or 3.x" situation.

Re: Why I'm Making Python 2.8

#59
Now you're just adding on more technical debt for users of Python 2. Who's going to maintain your Python 2.8? What happens when there are conflicts between your Python 2.8 and Python 2.7?

This is just a really bad idea IMO.

Re: Why I'm Making Python 2.8

#60

Earlier quoted context omitted.

Future supersedes Six: http://python-future.org

Literally the first time I've heard of python-future. How is it that you claim it supercedes six?

> Literally the first time I've heard of python-future.

So?

> How is it that you claim it supercedes six?

Its `future` library goes further than Six and it provides CLI tools to convert both Python 2 and Python 3 code to 2/3 code.

Post reply on HN