IMHO, Jython 3 would be more useful than Python 2.8, but it's your project. We have a project at work and the only reason we need to support 2.7 is because we want to run under Jython. Anyway, I would like to hear other people's use cases for Python 2.7.
Isn't Jython (generally) dead? The main site seems to be stuck in 2015.
Why I'm Making Python 2.8
121–130 of 392 posts
Re: Why I'm Making Python 2.8
#122Earlier quoted context omitted.
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 comp…
Python 2 is no longer being actively developed. It receives bug fixes, and even those are scheduled to stop before too much longer. The fact that people are using Python 2 means that it's not dead, but that doesn't mean it isn't obsolete.
Think of it this way. You need a library to solve some problem, and you find one on Github. The project hasn't received any major updates in 3 years. Some people have submitted pull requests, and a few of them have even been merged, but it's clear that the maintainers are focused on other projects these days. Is that an indication that this project is simply mature and no further work is required? Or could it indicate that the maintainers want to work on other things, and this is not a priority for them any longer?
Saying that Python 2 is obsolete isn't an insult. Python 2 is popular, and loved by many, many people. It has been adopted as a teaching language by many schools, has inspired multitudes of people to learn to code, and has achieved prominence in data science, machine learning, and scientific computing. It also happens to be at the end of its lifecycle, development has moved on to Python 3, and the developers don't have much interest in maintaining Python 2 any longer.
That doesn't diminish the accomplishments of Python 2 or the people who love it. However, it does mean that the label fits.
Re: Why I'm Making Python 2.8
#123Earlier 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...
Your comment is particularly apt as the programming language du jour is driven by fashion, not technology. We could still be using COBOL and be just as productive churning our CRUD apps as we are with the latest JS frameworks today... But one's hot and one's not.
For comparison, C is not obsolete because a lot of useful programs are easiest to express in C still. I'd argue that C is obsolete for App development too, but there will be people who disagree with that.
Re: Why I'm Making Python 2.8
#124Re: Why I'm Making Python 2.8
#125> 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…
They own the Python trademark, so they can make him stop using it.
In fact, I really hope that they do. This project does no good.
Re: Why I'm Making Python 2.8
#126I think the problem for me is that they did these changes and made a big song and dance about Python 3. If they had have called Python 3.0 v2.9 instead everyone would have been clear they had to migrate. PHP has been successfully deprecating features for decades now and cleaned up their code base; they have never had a schism in the way Python has so you can argue all you want about legacy, or people preferring 2.7.…
You know, as a strong proponent of Python 3.* (it's a significantly better Python), I started to write a withering critique of your statements here (and I do strongly disagree about naming it Python v2.9). But then I started actually looking at the evidence.
For example, when you go to download Python at the python.org website, you're still presented with a choice between Python 2 and Python 3 side-by-side, looking for all purposes like equivalent choices (Python 2 should be much less prominent and toward the bottom and/or the download button should be much smaller than the Python 3 download button)[0].
And then, when you follow the link for "Wondering which version to use?", you get a full page worth of hemming and hawing, and cost-benefit analyses and so on[1]. In fact, they should be saying something like:
Always use Python 3 unless you have a strong reason to do otherwise.
This typically only applies to people who have large legacy code
bases and are for some reason unable to upgrade, or else need a special
legacy library only available in Python 2 (most libraries are
available in Python 3)."
So wow, having read the official python.org statements on the Python 2 vs 3 issue, I'm pretty appalled. No wonder some people who are relatively new to Python are confused or surprised. I'm on Debian or Ubuntu mostly and so download Python via package manager or PPA, or build from source. So I had no idea.It's also been a huge mistake for GVR to have allowed so many new and attractive features to be backported to Python 2.7. It's taken away a significant amount of incentive for people to make the move. Python 2.* should have been bugfixes only for a long, long time now.
That said, if you're in charge of significant amount of Python code for a company and you've not seen for years that Python 2 is a deadend, you've either been engaging in wishful thinking or oblivious to what's happening in the Python community.
Re: Why I'm Making Python 2.8
#127Earlier quoted context omitted.
> 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). That is incorrect. Rust's text model has (almost) free (and copyless) transmutes from bytes to strings. Python does not. The text model of rust is much closer to Python 2 than 3 in many ways.
> That is incorrect. […] The text model of rust is much closer to Python 2 than 3 in many ways. Rust's text model strictly separates proper strings and bytestrings, defaults to proper strings and requires that strings be properly formed (so much so that it has additional completely separated platform-dependent types for dealing with OS-originated "stuff"). The one "difference" (which is more in the realm of implement…
Except of course on operating systems where text I/O is done entirely in UTF-16. Say, Windows.
Since Python strings have no fixed encoding, but choose "the most efficient one" (heuristically) when decoding, they can cope better than a fixed UTF-8 encoding in these cases.
>> Python does not.
> Python doesn't generally do no-alloc/0-copy operations so that's not overly surprising.
Indeed. Even when the encoding is not changed, the string will be always copied. One could think of an API that does that, though, to optimize all those cases were memory is already owned by a shim in the runtime.
Re: Why I'm Making Python 2.8
#128What if more than one person did that? (paraphrasing Raymond Chen's "What if two programs did this?")
There can be only one official Python 2.8, but since it will never exist (see PEP 404), there can be many unofficial mutually incompatible "Python" 2.8 implementations. Therefore, calling it "Python 2.8" is a bad idea.
Re: Why I'm Making Python 2.8
#129IMHO, Jython 3 would be more useful than Python 2.8, but it's your project. We have a project at work and the only reason we need to support 2.7 is because we want to run under Jython. Anyway, I would like to hear other people's use cases for Python 2.7.
My naive guess would be that most would be "Python 2.7 is what is in /usr/bin/python" - no particular need for it
Re: Why I'm Making Python 2.8
#130Earlier quoted context omitted.
You should be aware that trying to badger people with strict adherence to an arbitrarily-chosen definition of a term as a way to avoid countering their arguments does not make you look intelligent, does not make you look well-qualified to argue the topic, and does not make you look like you're winning the argument. Resorting to technical haranguing about the definition of a term typically, in fact, gives the appearan…
You write sooo well and yet the content is stupid.
I disagree. He uses complicated words where simple ones would do and other words that are redundant. For example, read his sentence after removing "typically, in fact,". It conveys the same meaning but sounds less pretentious.