[Python-Dev] Python3 "complexity" (was RFC: PEP 460: Add bytes...)
Kristján Valur Jónsson
kristjan at ccpgames.com
Wed Jan 8 23:04:56 CET 2014
Believe it or not, sometimes you really don't care about encodings.
Sometimes you just want to parse text files. Python 3 forces you to think about abstract concepts like encodings when all you want is to open that .txt file on the drive and extract some phone numbers and merge in some email addresses. What encoding does the file have? Do I care? Must I care?
I have lots of little utilities, to help me with day to day stuff like this. One fine morning I decided to start usnig Python 3 for the job. Imagine my surprise when it turned out to make my job more complicated, not easier. Suddenly I had to start thining about stuff that hadn't mattered at all, and still didn't really matter. All it did was complicate things for no benefit.
Python forcing you to think about this is like the cashier at the hardware store who won't let you buy the hammer you brought to the cash register because you don't know what wood its handle is made of.
Sure, Python should make it easier to do the *right* thing. That's equivalent to placing the indicator selector at a convenient place near the steering wheel. What it shouldn't do, is make the flashing of the indicator mandatory whenever you turn the wheel.
All of this talk is positive, though. The fact that these topics have finally reached the halls of python-dev are indication that people out there are _trying_ to move to 3.3 :)
From: Python-Dev [python-dev-bounces+kristjan=ccpgames.com at python.org] on behalf of R. David Murray [rdmurray at bitdance.com]
Sent: Wednesday, January 08, 2014 21:29
To: python-dev at python.org
Subject: Re: [Python-Dev] Python3 "complexity" (was RFC: PEP 460: Add bytes...)
It is true that in Python3 you *must* learn the difference between
bytes and strings. But in the modern world, you had better learn to do
that anyway, and learn to do it right up front. If you don't want to,
I suppose you could stay stuck in an earlier age and keep using Python2.
Python3's goal is to make it *easier* to do the *right* thing. The fact
that in some cases it also makes it harder to to the wrong thing is
mostly a consequence of making it easier to do the right thing.
More information about the Python-Dev