"More About Unicode in Python 2 and 3"

Nicholas Cole nicholas.cole at gmail.com
Mon Jan 6 17:41:26 EST 2014


I hardly know which of the various threads on this topic to reply to!

No one is taking Python 2.7 away from anyone.  It is going to be on the net
for years to come.  Goodness! I expect if I wanted to go and download
Python 1.5 I could find it easily enough.

Like everyone else, when Python 3 came out I was nervous.  A lot of my code
broke - but it broke for a good reason.  I had been being cavalier about
strings and ASCII and bytes.  A lot of my code was working by accident
rather than by design, or because my users had never fed it anything that
would make it fall over.  Of course, my first reaction was a defensive one,
but once I had got over that and got my head around Python 3's view of the
world, I was pleased I had.  I find writing in Python 3 leads to more
robust code.  I like the way it forces me to do the right thing, and I like
the way it raises errors if I try to get away with something I shouldn't.
Going back to Python 2 now feels a bit like stepping back to the seductive
and permissive hell of PHP in some ways!  If I could be sure that I was
coding just for me and not having to support things still running on Python
2, I would move to Python 3.3 and not look back.  Except, yes, there are
still libraries that haven't made the change....blast!

Python 2.7 is there if your software was written to run on the 2 series.  I
am sure it will either be distributed with (as default or option) major
operating systems for some time.  I am totally unpersuaded by the argument
that 'back porting' more and more into Python 2 will ease the transition.
 I think it will just use up developer time, and delay further the day when
releasing new code for Python 3 only becomes not only reasonable but the
natural and default choice.

I am really glad to see that at least one distribution of Linux is moving
to Python 3 as the default.  I'd much rather see developer time spent
improving Python 3 than managing a transition.

I realised when Python 3.0 came out that eventually I would have to move to
Python 3.  I spent the next release in a state of denial.  But I had years
to get used to it, and I'm glad I have.  It "feels" more robust.  Of
course, I haven't ported every little program: but no one is forcing me
too!

All of these threads are written as if everyone's code is about to be
broken.  It isn't.  But if you want the new features, you need to make a
move, and it is probably time to write all new code in Python 3. If there's
a dependency holding you back, then there will be a Python 2 interpreter
around to run your code.  That all seems pretty reasonable and
straightforward to me.

Nicholas
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.python.org/pipermail/python-list/attachments/20140106/22759167/attachment.html>


More information about the Python-list mailing list