[Python-ideas] from __past__ import division, str, etc

Nick Coghlan ncoghlan at gmail.com
Thu Jan 9 19:29:20 CET 2014


On 10 Jan 2014 02:05, "Giampaolo Rodola'" <g.rodola at gmail.com> wrote:
>
> On Thu, Jan 9, 2014 at 5:50 PM, Nick Coghlan <ncoghlan at gmail.com> wrote:
>>
>>
>> On 9 Jan 2014 22:03, "Giampaolo Rodola'" <g.rodola at gmail.com> wrote:
>> >
>> >
>> >
>> >
>> > On Thu, Jan 9, 2014 at 12:16 PM, Nick Coghlan <ncoghlan at gmail.com>
wrote:
>> >>
>> >>
>> >> On 9 Jan 2014 09:49, "Amber Yust" <amber.yust at gmail.com> wrote:
>> >> >
>> >> > Also note that even if publicly visible projects are outnumbered by
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).
>> >>
>> >> 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
translates into "if neither big project X has migrated after 5 years why
should I?".
>> > 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
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/
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.python.org/pipermail/python-ideas/attachments/20140110/b7d9fe5a/attachment-0001.html>


More information about the Python-ideas mailing list