@enkiv2 Python 2? Seriously, man? Come on.

@sir @enkiv2
It's compatible with 3, so why do you care if it also works with 2?

@enkiv2 its written with Py 3 as a second-class citizen. There's no excuse for that in 2019. You should be using Python 3 on your workstation and writing your software for Python 3 first. And yes, it's totally fine (and even better) to ditch Python 2 support by now.

@sir @enkiv2
python 3 *is* a second-class citizen. That said, the only change that would occur to the code if I dropped python 2 support is that a small shim for unicode would go away. I'm not willing to drop support for most users just to eliminate a couple lines of code.

@enkiv2 buuuuullshit. Most users have Python 3. Python 2 is end of life in _6 months_

@sir @enkiv2
Whether or not the python maintainers will continue to release new patches for 2.7 doesn't matter to all the folks using five year old builds of python.

@enkiv2 good to know you'll choose to stubbornly be wrong for the next 5 years

@enkiv2 only by morons. All Linux distros are rapidly removing support. You're on the wrong side of history, pal. A very stupid side to be on, too: *wanting* to use an objectively worse, unmaintained, legacy platform. Are you a sadist too?

@sir @enkiv2 Just to interject: maybe this is a strong sign that Python as an ecosystem is busted and adding the fruits of your intellectual labor to that fire is a bit like stacking gasoline and wood next to a housefire?

@endomain @enkiv2 the Python ecosystem is *not* busted. Python 3 is great and has been for a long time. The Python 2 debate is over, it's only delusional morons leaving themselves behind, and they're a small, small minority these days. You'd be hard pressed to find two Python 2 users to knock their heads together with

@sir @enkiv2 I can think of a few megatech companies that are not yet migrated so... I found dem heads.

@endomain @enkiv2 to be quite honest, Google *sucks* at engineering. Basically all of the code I've seen from Google is abysmal. Chrome sucks, Bazel sucks, Angular sucks, Android sucks, Fuschia sucks. Their engineering culture is fundamentally broken

@endomain @enkiv2 it boggles my mind that people romanticize google, it's a bunch of incompetent engineers implementing world-scale spyware engines with garbage software design

@sir @enkiv2 No comment, other than to promise that Google is hardly the only actor deeply invested in a ton of Python2 code that's incredibly difficult to migrate to P3.

That's basically everyone who invested a lot during the P2 ecosystem. Migration is non-trivial.

@endomain @sir
The python3 ecosystem is fine. The python2 ecosystem is fine.

If you look for hairiness, you can find it, but it's easy to avoid if you write your code in a sensible way (i.e., avoiding dependencies on third party libraries & avoiding dependencies on specific versions of anything).

@enkiv2 @endomain Python 2 is a fundamentally broken platform. That's why they broke it and made Python 3. Python 2 is



@sir @enkiv2 I'm not sure anyone is suggesting P2 is good, here. Just that because of the challenges with migration being so non-trivial, it's not going to go away.

Especially if, say, Linkedin or Amazon decides it'd be cheaper to put 3 engineers into keeping Python2 on life support rather than the risk of a full org code migration.

@endomain @sir

I'm suggesting P2 is good (or, more accurately, P2 is fine in the same way as P3 is fine -- it's good enough but nothing special).

Keep in mind that the question here is not whether or not it's worth porting (because this code already runs on python 3) but whether or not it's worth intentionally breaking the code for users who have python2.



My bad for misrepresenting you, please accept my apology.

If you two do continue the discussion of the relative merits of 2v3 please untag me. My only real point is that I doubt were going to see P2 die on the timeline proposed.


If you say so. I don't really get why anyone would voluntarily choose such a messy language when so many sane alternatives have arisen. To me, the only meaningful inertia left in the Python community is around ML.

I'm literally writing this from a machine where distro updates have been broken for 6 years. I work at a company that uses python 2.3 internally because of a policy against upgrading beyond it.

If this project gets complicated enough that I'm even *tempted* to use python3 features, then it's broken & I should stop maintaining it. Being big & having dependencies on shiny new technologies are some of the major problems with mastoweb, & I want to avoid them.

@enkiv2 it's no surprise that the code sucks anyway, then. It sounds like you have no idea what you're doing. Thanks for filling yet another corner of the internet with bad software

@sir yeah, there's only one thing worse than that, filling yet another corner of the internet with being a dick to people to make yourself look clever (note: it's doesn't, quite the opposite). #DontBeADick

Do you have any specific complaints about the code other than "it's too backward-compatible"?

@sir @enkiv2 IMO this kind of hostility and code-shaming is unnecessary and unwanted. And I say that as someone who thinks he should move the project to using modern Python coding practices/tools like python 3, pipenv, and black.

@gcupc @sir @enkiv2
Code-shaming is sometimes justified -- if he's got a good reason to dislike my code, I want to hear it, & if he has a good reason to drop python2 compatibility, I want to hear that too. This whole "I hate your code for secret reasons" thing is unconvincing. (I know about stylistic problems in fern & have fixed some of them in refactoring, so if he looks he'll be able to find things to complain about, so his response indicates he probably hasn't looked.)

@sir @enkiv2
Python 2 won't die that easily. It will bevome the sort of legacy software that's kept on life support forever, just like COBOL. And last time I checked,there is a strong demand for COBOL programmers. Even better, programmers that don't know COBOL but are willing to learn it are in demand, and the supply of them is very low, so learning COBOL gives you a metric ton of job security. It'll be the same with python2.

@sir @enkiv2 even RHEL is going to drop python2. I think that time has come to avoid projects that support only python 2. Py2 was just a scripting language, while Py3 is kind of a real grown up programming language

@alexcleac @sir @enkiv2 AFAIK Fedora 31 will make python3 default and Fedora 32 will drop nearly all python2 packages. So Fedora won't have python2 in 2020 anymore.

@enkiv2 @sir @neijatolf And I think that this should be done long ago. RHEL was the first to make the decision, and others will catch up soon

@alexcleac @enkiv2 @sir @neijatolf
Sure, but (being enterprise) nobody keeps their RHEL installs up to date -- if an update has the possibility of breaking production, it doesn't get done. In other words, RHEL switching to 3 early doesn't mean that any large proportion of RHEL users have switched to 3. (Let's not ignore the folks who have a recent RHEL & have replaced 3 with 2 to avoid making their code 3-compatible, or to avoid finding out that it's not.)

@enkiv2 @alexcleac @sir @neijatolf do you think there's much overlap between the set of users who use old versions of RHEL in production and the set of users who want to install fern on those same production boxes?

@kungtotte @enkiv2 @alexcleac @sir @neijatolf
I think that there's a lot of overlap between folks who want a lightweight-but-usable mastodon client and user with old machines that can't be easily updated to run bleeding-edge software. Such folks may not be specifically singling out python to update. So, they may be running five or ten year old builds.

@enkiv2 @kungtotte @sir @neijatolf I think that this is a harmful thing - to allow keep using software that hasn’t updated for a really long time. It is, because every software have it’s security issues and just bugs, so user *has* to update the machine at least sometimes, because otherwise he will be an easy target to hack.

So that is a bad excuse to depend on deprecated technologies just because “there are old dudes who use it”

@alexcleac @enkiv2 @kungtotte @sir @neijatolf
I'm not depending on deprecated technologies -- merely supporting them.
Re: enterprise -- whether or not to patch vulns on internal software (which is only accessible by employees, & so has a different threat model) is determined by the org's packageset maintainers.

@enkiv2 @alexcleac @kungtotte @sir @neijatolf
With regard to users who cannot upgrade -- it's up to maintainers whether or not old hardware is gonna be supported on new software. Old hardware never goes away (unless it's really crappy & actually breaks), so the last widely-deployed software to be supported on it also never goes away. Everybody with a ten year old mac is running 7-year-old OSX.

@enkiv2 @kungtotte @sir @neijatolf yeah, I agree with you at this point. But regarding python2 - it is officially deprecated and recommended not to use. And AFAIK there is no such way that you can't install a newer version of python, even to outdated hardware stack.

@alexcleac @enkiv2 @kungtotte @sir @neijatolf
It's pretty easy to get into a state with binary distros where binary upgrades are fatal & where nothing will build because it can't link against a pathological combination of library versions. (This used to happen to me every 6 months when I was running arch.) It's always possible to build python3 from source on a source-based distro but those are fringe these days.

@sir @enkiv2 I know at least 2 $BIGTECHCOMPANIES who have unprioritized migration.

It's annoyingly hard to port complex p2 code, and everyone's terrified of doing it.

Sign in to participate in the conversation

The social network of the future: No ads, no corporate surveillance, ethical design, and decentralization! Own your data with Mastodon!