3 ms·
Oh man. I've been meaning to check out Python 3 for a couple of years now, but so far I did not have a compelling reason. Maybe it's time to start anyway.
by krylon 12y ago
Oh man.
I've been meaning to check out Python 3 for a couple of years now, but so far I did not have a compelling reason. Maybe it's time to start anyway.
- Estragon 12y agoYeah, reading through this thread, I haven't seen a single reason why I should care about Python 3.
- task_queue 12y agoBecause Python 2 will be phased out in 5 years.
- BuckRogers 12y agoBy who? The core developer team? Or by PyPy and Pyston? The people that matter (the users) aren't phasing out 2.x in 5 years. That much is clear.
- krylon 12y agoI looked into the changes between Python 2 and 3 a few years back (like, 2011, 2012). There lots of minor changes that were all nice, but no single big change that was a compelling reason to switch. If, e.g. they had ditched the GIL and allowed pure Python code to exploit multicore systems, that would have been compelling to me. Instead, at the time, Wikipedia claimed that Python 3 ran somewhat slower on CPython than Python 2. :( Maybe all of those minor changes taken together constitute a big improvement, once I give it a try. The Unicode handling is said to be much better, and Unicode handling does suck really, really hard on Python 2. So there's that.
- bayesianhorse 12y agoTwo compelling reasons: Blender and Asyncio. Blender has been on Py3K since 2008 and is an underrated software platform. Asyncio is a revolutionary concurrency framework based on coroutines. The "yield from" feature is useful both for coroutines and for other generator functions.
- rjaco31 12y agoThat's really not compelling enough to learn the differences & break backward compatibility imho
- task_queue 12y agoAt this point in time, the upcoming EoL in 5 years should be pressure enough to start new projects in Python 3 when possible.
- bayesianhorse 12y agoThen don't. The differences aren't that big that it would take you more than an hour or two to learn them. It's just that it takes time and effort to port older code. Python 3 is happening, and that's the reality.
- BuckRogers 12y ago"Python 3 is happening, and that's the reality. " Unfortunately, I think what this means is definitely up for debate. Python3, "happening" may be nothing more than a permanent split, not the obsolescence of 2. In fact, that's what it looks more and more like everyday. What IS happening, is that libraries are not, will not, and cannot drop 2.7 support. The opposite isn't true and may never be.
- bayesianhorse 12y agoSome libraries will never drop 2.7. I can see why some projects like Django may drop 2.7 in a few years. Django releases tend to break backwards compatibility over time anyway. I don't care either way. My older projects can't be easily upgraded from Django version to version, and my newer Projects start out on Py3k.