8 ms·
How old is Python 3 now? I've always used Python for a "miscellaneous task" language, and still do... and even I find "...because you refuse to upgrade" a bit i
by NuSkooler 9y ago
How old is Python 3 now? I've always used Python for a "miscellaneous task" language, and still do... and even I find "...because you refuse to upgrade" a bit insulting. If I used it for something serious, even more so.
The way 2.x -> 3.x was handled is/was/will is an absolute disaster. Upgrading simple scripts is a non-issue. Larger projects seem to always be a horrible pain.
- skykooler 9y ago9 years. Python 3 was first released in 2008.
- jwilk 9y agoPython 3.0 was released on 2008-12-03. It actually become usable somewhere around 3.2/3.3, released in 2011/2012.
- kstrauser 9y agoWow! I hadn't thought about it, but Python 3 is older now (almost 9) than Python 2 (released on 2000-10-16) was when Python 3 came out.
- collinmanderson 9y agoI think about it like: - 2008-2012: Becoming actually usable. - 2012-2016: Libraries porting over - 2016-2020: Applications porting over (more work needs to be done here. See http://portingdb.xyz http://portingdb.xyz )
- ubernostrum 9y agoLeaving out third-party open-source projects I contribute to, and projects I've been involved with as part of my work (both open and private), and just focusing on code from my own personal Python packages: By count of lines, 0.04% of Python code I've published exists only to deal with 2 vs. 3 issues. Of that code, 34% consists of importing and applying a decorator from Django that handles setting up either __str__() or __unicode__() on a Django model as appropriate. Tellingly, there are exactly two lines I could find that aren't that decorator and which deal with a str/unicode issue. And that's in code which doesn't just run on Python 3, it supports 2 and 3 in the same codebase.
- jrs95 9y agoThere are a lot of people who refuse to upgrade. I have to use 2.7 at work for pretty much no reason at all, and I'm sure I'm not the only one.
- Animats 9y agoYou're not. von Rossum has to maintain Python 2.7 as part of his day job. Things I still have in Python 2.7: - Code that runs on low-end shared hosting. There's a Python 3, but it's 3.2, the least-compatible version. No "six", and "u'xyz' isn't allowed. - ROS, the Robot Operating System. Python 3 support is coming, but it's not really here yet. I converted over the dedicated servers and some IoT stuff a year ago. The types stuff probably should have been called Python 4, not Python 3.6. Those are major language changes. The optional-types-that-are-not-checked thing seems a bad idea. I can see having checked types; that allows some important optimizations. When you know something is a machine type, such as an int or float, you don't have to box it. But the feature of type declarations without checking is a foot gun.
- lwf 9y ago> You're not. von Rossum has to maintain Python 2.7 as part of his day job. *van Rossum I wouldn't say that's an accurate statement of what Guido does every day :) (nb: I work at Dropbox, and have worked with Guido at Dropbox.)
- Animats 9y agoThat's from Quora.[1] Dropbox apparently has a lot of Python 2.7 code that hasn't been ported. [1] https://www.quora.com/What-version-of-Python-does-Dropbox-use https://www.quora.com/What-version-of-Python-does-Dropbox-us...
- collinmanderson 9y agohas to maintain _code_ _written_ _in_ Python 2.7 as part of his day job.
- jwilk 9y ago
- huskyr 9y agoI used to think like you, but when i started actually using Python 3 it all was a lot less worse than i've expected it to be from reading Hacker News comments. YMMV, but converting existing code for me usually didn't amount to more than adding parentheses around print statements. The proper support for unicode alone was enough of a reason to upgrade for me.
- tripzilch 9y agoExactly. I understand the attitude (about "refuse to upgrade") mainly because in hindsight I wished I'd have upgraded way sooner :)
- NuSkooler 9y agoThe bigger issues of upgrading I've run into: * Systems generally still ship with 2.7x * Dependencies that also have not upgrades (e.g. 3.x doesn't exist) or require a complete re-work now * Searching for help on X often results in 2.7x help I've upgraded projects, but this "you refuse to upgrade" business bothers me. There is a reason people haven't: The way Python handled all of this is horrid. It's often easier to just move to another language.