4 ms·
> I plan on porting what I have over when 3 actually gets over the hump but not before. The popularity of major open source projects in Python have been ported
by yeukhon 10y ago
> I plan on porting what I have over when 3 actually gets over the hump but not before.
The popularity of major open source projects in Python have been ported or are in progress of porting over to Python 3 (mostly 3.3+).
I remember my boss telling me a few days ago in his previous job the codebase was still running Java 1.3 or 1.4. There was no incentive to upgrade because people were afraid of breaking changes, even from to the next major release. So when are they going to port over to 1.4? to 1.7 and then finally 1.8? God knows and trust me that'd be the day IBM AS400 support finally RIP. You can choose to live with that, but the pain of actually maintaining a codebase running on obsolete platform is pain. But ask Ansible maintainers, writing code that has to work with Python 2.3 was brittle. Ask anyone who has done RedHat administration they know too well how brittle working with a system totally 10 years ago (even though RH does support these old version for years). Pain in the fucking ass.
> If there's not strong enough support of Python3, let it die.
Where did you or the author get that? There is a strong motivation to go to Python 3. It just so happens people are still running on Linux that ships with Python 2 by default, or on MacOSX which is still on Python 2 by default.
If you maintain Django and you don't want to drop Python 2 support, you make the call. You don't have to join. He doesn't force people to join his collation. You are making a big deal out of his post/tweet.
- 21 10y agoSo you think that the major reason people aren't upgrading is that Python 2 ships by default with Linux/MacOSX?
- makecheck 10y agoFor what an anecdote is worth: yes, I only use 2.x because the Mac system default is 2.x. Relying on the Mac default Python keeps my binary sizes small, and Python 2.7 is good enough. While I have at least done the __future__ imports to adopt features of 3.x such as print(), a full switch to 3.x will be more trouble than it’s worth until Apple decides to install it.
- kstrauser 10y agoMay I ask why you're optimizing for the size of your installed applications? Serious question.
- makecheck 10y agoSize is not the entire point. I do however like small downloads (sick of seeing applications that consume hundreds of megabytes, probably because they’re shipping an entire VM or something). The bigger reason is to make the application as useful as possible to Python extensions. If you don’t force scripts to use a particular interpreter then the entire application can be imported into almost any script, alongside any number of other modules to do interesting things. The only module that has to be compatible is the application; if by chance the application module doesn’t work with one Python version, another copy of it can exist for two Python versions. Whereas, if your application only works inside a special interpreter binary, extensions have to reinstall special versions of every module that they want to use, and possibly port an entire stack of code to support that Python version. Both approaches are workable but an unspecified interpreter is by far the more convenient way.