Since I was relatively new to python when python 3 was released (I'm using it since python 2.5) I don't really care about the print statement. Making print a function makes print less an exception since all other functions need brackets. I also like most of the other changes in python 3 like float division and making range an iterator.
Something I really dislike, is that the "__cmp__"-method is gone. I really hate to write 6 different functions, whereas I'm used to writing a oneliners which covers each of the 6 cases. I haven't switched to pyton 3 yet, but when I do, I will give my classes a single compare method and omit the syntactic sugar. Somelauw On Sat, 2010-06-26 at 17:59 +0200, Stefan Reich wrote: > 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 -- http://mail.python.org/mailman/listinfo/python-list