10 ms·
This is really disappointing to see - I fear that it will slow adoption of Python 3 even further, when it was just reaching a tipping point[0]. When I first le
by chimeracoder 13y ago
This is really disappointing to see - I fear that it will slow adoption of Python 3 even further, when it was just reaching a tipping point[0].
When I first learned Python, I learned Python 3 first because it was newer, and I figured everyone would be using it soon enough. Little did I know that Python 2 would continue to be supported for over ten years after that!
Some people make a big deal about figuring out "which" Python to learn - that's not really much of an issue, because Python 3 isn't so different from Python 2 that it's hard to pick up the other very quickly (especially given how much has been backported to 2.7). But it's unfortunate to see people continuing to write new code in Python 2.
[0] http://python3wos.appspot.com/ http://python3wos.appspot.com/
- jlebrech 13y agoIsn't this HACKER news, just hack something popular in python 3. all we need it anything written from scratch to be written in python 3.
- numbsafari 13y agoI realize you are probably getting down voted because of the way that you wrote what you wrote. But, I have to say, that during the keynote by Guido this morning, this was more-or-less the sentiment that I was left with, but with a #positivepython-twist. Listening to Guido, I left with the inspiration to try and help this community make that migration. I hope that, by this time next year, I can have made some contribution to the community that will help people such as the GP be in a position to use "the latest and greatest". Here's the list, let's make it green: https://python3wos.appspot.com https://python3wos.appspot.com
- a1a 13y agoOn the other hand, if you are comfortable with Python 2, it will do the job, and you know it will be supported for a foreseeable future, why bother learning Python 3? I assume there is a good answer for switching to Python 3, but I honestly don't know (haven't bothered to do any research though). Harshly put: I care about getting my python script working as soon as possible and for a foreseeable future - I couldn't care less for the Python language and it's future.
- pfraze 13y agoThat's not a valid reason to avoid making the switch. A big backlog of code that you can't afford to port is valid; it's a business issue. But you? This is a tool of your trade, just do the research.
- a1a 13y ago"Tool of your trade": I have no use of python 3, nor do I have any use for Scala, Perl, or whatever. These could all be considered "tools of my trade". I rarely write anything high language besides small scripts. Python 2 does the job. If I ever were to need functionality of another language, great, it's fun to learn something new. Our time is limited and we must prioritize. Sadly we cannot invest time to learn everything (well I guess it's possible, but I rather be awesome in four languages than mediocre in twenty).
- dragonwriter 13y ago> I have no use of python 3 You admit you haven't done any research, so you clearly don't have any basis for making that statement.
- a1a 13y agoNor have I done research on Perl, Scala, etc. Your missing my point. I am successfully getting my things done in Python 2. I do not have any use for Python 3, Perl, Scala, or any other language. I might have in the future, and hey, some language might be better suited to solve the problem - but as long as it's not drastically better the sensible tradeoff is to stick with Python 2.
- goostavos 13y agoThat philosophy sounds like one that will cause you to wake up one day and realize your skill set is massively out if date. Python 3, scala, and pearl all give you new ways of solving a problem. You're missing out on a lot of super cool stuff by not exploring! Outside of maybe library support, I see no reason to not to at least check out python 3.
- jimmaswell 13y agoWell honestly, python 2* is a lot more convenient to write in a lot of ways, and the benefits of 3 aren't big enough to make up for it for a lot of people/use cases.
- dragonwriter 13y ago> Well honestly, python 2* is a lot more convenient to write in a lot of ways In what way is python 2 more convenient to write? Outside of the rapidly shrinking set of cases where the best approach to a key problem is addressed by a Py 2 only library -- or the case of "I want to deploy on Google App Engine" -- I don't really see how Py 2 is "more convenient".
- andy 13y agoprint x doesn't work, you have to use print(x).
- tonyarkles 13y agoOn both OSX and many Linux distros, Py 2 comes pre-installed but Py 3 does not. If I'm going to write simple scripts that I'm going to give out to people, it's nice not having to worry about them needing to fuck around to get the script to run.
- djjaxe 13y ago> On both OSX and many Linux distros, Py 2 comes pre-installed but Py 3 does not. Because python 3 was not the most stable at the time of distribution of that operating system. Why would I the developer of said operating system release anything but the most stable versions of the language? This would in turn make my operating system at times less stable.
- tonyarkles 13y agoI totally agree. However, until Py3 is packaged standard it's always going to be easier to run Py2 code. For example, I have a friend who does data analysis on OSX and occasionally she gets data in a format that is ugly. I take a look at it and send her a python script that will massage it into something nice. She's ok with the occasional "sudo pip install ..." to get a library, but if my instructions started with "ok, first install Xcode and then install homebrew" the answer would probably be "it's ok I'll just do it by hand"
- epx 13y agoPersonally I feel more at ease going to Py3 without a knife in my neck due to short EOL
- berberous 13y agoI chose to learn Ruby in part because of the confusing Python 2/3 issue. I recognize that this is a largely stupid reason to choose a language, but when lots of people suggest that either language is great to pick-up, well, it was another easy reason to lean Ruby over Python.
- eropple 13y agoI don't agree at all that it's stupid (and I'm someone who'd generally pick Python over Ruby). Fragmentation sucks. Really bad fragmentation sucks more. Python's fragmentation is pretty bad.
- diminish 13y agoIt's funny reading this from the Zen of Python "There should be one-- and preferably only one --obvious way to do it." [1] while seeing that there are nearly two independent language/ecosystems with the name Python (namely version 2/3). [1] http://legacy.python.org/dev/peps/pep-0020/ http://legacy.python.org/dev/peps/pep-0020/
- endemic 13y agoHear, hear.
- pornel 13y agoHaving a split like that in a language is terrible. You find libraries that work with not-your-version and you envy features that would make your code cleaner/faster/better, but you can't use them. - "Ugh, that thing is lacking/stupid/messy." - "Oh, no problem, that wart has been fixed in Python 3" - "Can we use it?" - "No."
- meowface 13y agoAs a Python developer, usually this isn't a major problem for me when going out and finding libraries. Almost every library you find will support 2.7, so I pretty much stick to 2.7 when using or writing any code. I miss some of Python 3's good features but the library ecosystem is more important to me. It's a real pain in the ass when I try to publish my own, though. The generally accepted rule is that all libraries must support 2.6 through 3.4, and this can be a major hassle.
- sitkack 13y agoI have to continue to beat the drum of gradual upgrades, Py3 features should and now will be slipstreamed into 2.N, this is a good thing. https://pythonhosted.org/six/ https://pythonhosted.org/six/ This isn't disappointing, it is refreshing. Python is dead, long live Python.
- _pmf_ 13y agoI think it's a strong signal to industrial users that Python is a stable and mature language whose core developers care about practical usage. Pushing Python 3 for ideological reasons ("it's the right thing to do") would alienate a lot of users who have real work to do and cannot invest weeks to upgrade to a version that does not provide them any benefits.
- Rubikan 13y agoIf the Python core developers care so much about practical usage they should never have released python3 with features that break backwards compatibility. Your argument is right, but they should have thought about that before fracturing the python community.
- _pmf_ 13y agoYes; I suppose they will be more careful in the future. The Java model of using separate lifecycles for the runtime/JVM and the language itself is probably a good role model for the future; it allows introducing new language features without any danger of creating library inconsistencies and allows specifying source and VM versions individually.