"More About Unicode in Python 2 and 3"

Ned Batchelder ned at nedbatchelder.com
Mon Jan 6 16:32:01 EST 2014


On 1/6/14 12:50 PM, Steven D'Aprano wrote:
> Ned Batchelder wrote:
>
>> You are still talking about whether Armin is right, and whether he
>> writes well, about flaws in his statistics, etc.  I'm talking about the
>> fact that an organization (Python core development) has a product
>> (Python 3) that is getting bad press.  Popular and vocal customers
>> (Armin, Kenneth, and others) are unhappy.  What is being done to make
>> them happy?  Who is working with them?  They are not unique, and their
>> viewpoints are not outliers.
>>
>> I'm not talking about the technical details of bytes and Unicode.  I'm
>> talking about making customers happy.
>
> Oh? How much did Armin pay for his Python support? If he didn't pay, he's
> not a customer. He's a user.

I use the term "customer" in the larger sense of, "someone using your 
product that you are trying to please."  I'd like to think that an open 
source project with only users would treat them as customers.  Not in 
the sense of a legal obligation in exchange for money, but in the sense 
that the point of the work is to please them.

>
> When something gets bad press, the normal process is to first determine just
> how justified that bad press is. (Unless, of course, you're more interested
> in just *covering it up* than fixing the problem.) The best solutions are:
>
> - if the bad press is justified, admit it, and fix the problems;
>
> - if the bad press is not justified, try to educate Armin (and others) so
> they stop blaming Python for their own errors; try to counter their bad
> press with good press; or ignore it, knowing that the internet is
> notoriously fickle and in a week people will be hating on Go, or Ruby
> instead.
>
> But I get the idea from your post that you don't want to talk about the
> technical details of bytes and Unicode, and by extension, whether Python 3
> is better or worse than Python 2. That makes it impossible to determine how
> valid the bad press is, which leaves us hamstrung. Our only responses are:
>
> - Patronise him. "Yes yes, you poor little thing, we feel your pain. But
> what can we do about it?"
>
> - Abuse him and hope he shuts up.
>
> - Give in to his (and by extension, everyone elses) complaints, whether
> justified or not, and make Python worse.
>
> - Counter his bad press with good press, and come across as arrogant idiots
> by denying actual real problems (if any).
>
> - Wait for the Internet to move on.
>

I was only avoiding talking about Unicode vs bytes because I'm not the 
one who needs a better way to do it, Armin and Kenneth are.  You seem to 
be arguing from the standpoint of, "I've never had problems, so there 
are no problems."

I suspect an undercurrent here is also the difference between writing 
Python 3 code, and writing code that can run on both Python 2 and 3.

In my original post, I provided two possible responses, one of which 
you've omitted: work with Armin to explain the easier way that he has 
missed.  It sounds like you think there isn't an easier way, and that's 
OK? I would love to see a Python 3 advocate work with Armin or Kenneth 
on the code that's caused them such pain, and find a way to make it good.

It's clear from other discussions happening elsewhere that there is the 
possibility of improving the situation, for example PEP 460 proposing 
"bytes % args" and "bytes.format(args)".  That's good.

-- 
Ned Batchelder, http://nedbatchelder.com




More information about the Python-list mailing list