On 30 August 2016 at 08:38, Victor Stinner <victor.stin...@gmail.com> wrote:
> Hi,
>
> tl; dr: just drop byte support and help developers to use Unicode in
> their application!

My view (and Steve's) is that this approach is likely to result in
Linux-centric projects just dropping even nominal native Windows
support, rather than more Python software that handles Unicode on
Windows (/the CLR/the JVM) correctly.

What Steve is proposing here is essentially a way of providing more
*nix like CPython behaviour on Windows, just as the Windows Subsystem
for Linux is Microsoft's latest iteration on providing such an
environment at the kernel layer.

This is why interoperability with other Windows programs isn't a major
concern for this proposal - projects with Windows developers actually
working on them that are designed to operate with other applications
running on the same device (especially via files) should absolutely be
using strings rather than bytes for interacting with the operating
system.

Instead, the target audience I see for these changes is
network-centric projects where all the primary developers are running
either Linux or Mac OS X on their personal devices, and deploying to
Linux servers. If you tell them "You need to make major changes to
your project to properly support native deployment on Windows", then
they will say "OK, we'll just drop the claim of Windows support, so
we're not giving people false expectations" rather than actually
making the change. That then excludes a lot of potential contributors
from their project (since they need to be able to run Cygwin, WSL,
containers or VMs to get a compatible test environment), and it also
means folks running Windows based infrastructure can't readily run the
service up on an existing system without using like Cygwin, Docker, or
the new WSL.

However, this view is also why I don't agree with being aggressive in
making this behaviour the default on Windows - I think we should make
it readily available as a provisional feature through a single
cross-platform command line switch and environment setting (e.g. "-X
utf8" and "PYTHONASSUMEUTF8") so folks that need it can readily opt in
to it, but we can defer making it the default until 3.7 after folks
have had a full release cycle's worth of experience with it in the
wild.

Cheers,
Nick.

-- 
Nick Coghlan   |   ncogh...@gmail.com   |   Brisbane, Australia
_______________________________________________
Python-Dev mailing list
Python-Dev@python.org
https://mail.python.org/mailman/listinfo/python-dev
Unsubscribe: 
https://mail.python.org/mailman/options/python-dev/archive%40mail-archive.com

Reply via email to