On 10 Jan 2014 02:05, "Giampaolo Rodola'"
On Thu, Jan 9, 2014 at 5:50 PM, Nick Coghlan
wrote: On 9 Jan 2014 22:03, "Giampaolo Rodola'"
wrote: On Thu, Jan 9, 2014 at 12:16 PM, Nick Coghlan
On 9 Jan 2014 09:49, "Amber Yust"
wrote: Also note that even if publicly visible projects are outnumbered by
It also mistakenly assumes our goal is to get existing *applications*
to migrate. It really isn't - we're obviously delighted if app developers choose to switch (as it indicates we have created a compelling platform), but we *needed* key library and framework developers to add Python 3 support in order to bootstrap the Python 3 development ecosystem.
True. I think one of the key points here is that different important libs haven't been ported yet: https://python3wos.appspot.com/ Too many of them are still marked red and IMO that is the main reason why a lot of people are being so hesitant, not unicode. "boto" alone counts as hundreds of thousands potential users which simply cannot migrate. Django made the transition only a couple of months ago, which basically means it's still in a beta state, and AFAIK fundamental projects such as Twisted don't even have an ETA. Considering 5 years have passed since Python 3.0 first made it's appearance I consider this a *serious* delay. From a user standpoint this sort of appears as a signal which
That's likely to apply even if project X is not within the list of your dependencies, because you may not depend from X now but maybe you will in the future, either because you need X or because Y requires X in order to work. It is *crucial* for people maintaining those libraries to put Python 3 porting on top of their TODO list at the cost of not working on new features.
This is still focusing on migrating *existing* applications.
I was talking about existing third party libraries (Twisted, gevent, lxml etc), not user applications. In order to port user applications you need those libraries to be ported first, and it is crucial that at least the most used ones are ported.
A user that starts with Python 3 simply wouldn't consider a dependency
wrote: private projects, the public projects tend to have a much larger impact on the overall ecosystem, because they're used by many entities (whereas private projects are typically only used by a single entity given their nature). translates into "if neither big project X has migrated after 5 years why should I?". like boto as an option
Why not? Note that I picked "boto" just because it's the first in that
list.
and would reach for asyncio rather than Twisted for their explicit
asynchronous programming needs.
I would't be so sure about that. We're talking about two very mature and established projects, with tons of third-party components (see https://github.com/facebook/tornado/wiki/Links), each solving a common set of problems in their own way, which will likely continue to be used independently from asyncio (which is still in a beta state) for quite a while.
Yes, Python 3 will be an even *better* ecosystem as more of the Python 2 ecosystem becomes available. That is not in dispute. The point is that *most new software* should be able to find appropriate packages in Python 3 at this point in time, and also has access to modules like "python-future", which make it relatively straightforward to downgrade to Python 2.7 if you start in Python 3 and then find a Python 2 only library that you absolutely positively have to depend on. This means that those unported libraries aren't a reason to *start* a greenfield project in Python 2. "Python 3 by default" *also* doesn't mean "never any reason to start a new Python 2 project instead". Cheers, Nick.
--- Giampaolo https://code.google.com/p/psutil/ https://code.google.com/p/pyftpdlib/ https://code.google.com/p/pysendfile/