On Thu, Aug 31, 2017 at 11:27 AM, Erik Bray <erik.m.b...@gmail.com> wrote:
> On Wed, Aug 30, 2017 at 2:14 PM, Jeroen Demeyer <jdeme...@cage.ugent.be> 
> wrote:
>> On 2017-08-28 12:45, Nicolas M. Thiery wrote:
>>>
>>> - Are there plans to enforce the above future imports to our doctests? In
>>>    particular unicode_literals which seems more problematic?
>>
>>
>> TL;DR: I do not consider it a problem that stuff breaks with "from
>> __future__ import unicode_literals".
>>
>> The other __future__ imports (namely absolute_import, division and
>> print_function) make certain code behave just like in Python 3. That's good
>> in any case for portability.
>>
>> unicode_literals on the other hand creates a "mixed" environment, which is
>> not the same as Python 2 nor the same as Python 3. With unicode_literals,
>> it's only string *literals* which become unicode, but other strings still
>> behave like plain old strings. I would say that unicode_literals does have
>> its uses (if you want to do text processing in unicode both in Python 2 and
>> in Python 3), but it's not something that should be turned on blindly.
>
> Agreed--for certain modules it's very useful, but it harms users on
> Python 2 because suddenly lots of strings have the u"" prefix for some
> reason (that they don't understand, necessarily) and the overall
> experience is disruptive and not backwards compatible.
>
> I usually try to eschew the <type 'unicode'> as much as possible on
> Python 2 except where explicitly needed (e.g. non-ASCII text), but
> otherwise keep <type 'str'> as the default string type on both Python
> 2 and Python 3 (even though these are very different types despite
> having the same name ;)

In fact, I just remembered there was a thread about this a few months
ago on python-dev.  Even Guido concluded that unicode_literals does
more harm than good (I'd still say it's useful in some cases.  I think
the conclusion of that discussion was to add an admonition against it
in the docs :)

https://mail.python.org/pipermail/python-dev/2016-December/147009.html

-- 
You received this message because you are subscribed to the Google Groups 
"sage-devel" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to sage-devel+unsubscr...@googlegroups.com.
To post to this group, send email to sage-devel@googlegroups.com.
Visit this group at https://groups.google.com/group/sage-devel.
For more options, visit https://groups.google.com/d/optout.

Reply via email to