I strongly dislike Python 3

Stefan Reich wertiges.produkt at googlemail.com
Sat Jun 26 11:59:59 EDT 2010


Hi there.

Let me preface this by saying that I am a fan of Python. I use it 
regularly and I like it a lot.

That is, I am using and liking Python 2.6.

I don't like Python 3.

I won't comment on the advanced stuff that is changed in Python 3, as I 
haven't look into that.

My complaint is about changing the syntax of "print".

This has probably been talked about on your lists, but I wasn't part of 
that discussion. And I think that everyone has a right to bring up a 
subject at any time if it is still important. And I believe it is 
because Python 3 is out there and it poses a real problem.

The main problem is that Python 3 is incompatible with almost all 
scripts written for Python 2 (if they use print). And it gets worse: 
Python 3 scripts are incompatible with Python 2! (If they use print 
variants, like writing to a file.)

Thus the world of Python scripts is split in two incompatible factions. 
All for simplifying the syntax of one statement. That, to me, is pure 
insanity.

Here's the advantages:

-Some arcane stuff like redefining "print" in a module (which 99% of 
users will never do) allegedly gets easier.
-Any more?

And here's the disadvantages:

-The Python 3 syntax actually requires more keystrokes.
-Python world split in half. There is now a Python 2 world and a Python 
3 world, both incompatible with each other.
-Libraries written for Python 2 cannot be mixed with libraries written 
for Python 3.
-Developers have to choose between Python 2 and Python 3 and are bound 
to their choice afterwards.

So there are basically no advantages and extremely significant 
disadvantages. The single advantage there is could certainly be achieved 
without breaking all scripts out there.

Consider Java as a better example: JDK 1.6 still runs and compiles 
everything written for JDK 1.0. That is proper management. Python 3 is, 
I'm sorry to say, an example of unfathomably bad management.

To reiterate, I am strongly in disfavor of Python 3 and will stick to 
Python 2, for as least as long as Python 3 breaks my scripts.

Cheers,
Stefan



More information about the Python-list mailing list