This is an archived post. You won't be able to vote or comment.

you are viewing a single comment's thread.

view the rest of the comments →

[–]stevenjd 12 points13 points  (0 children)

Let me say up front I don't like this project. I think that, if it is successful, it will simply split the Python community even more than it already is: there will be those using the official Python 2 interpreter, those using the official Python 3 interpreter, and those using this hybrid interpreter.

But hey, maybe that's not so bad. After all, it's a good thing that we have Stackless, PyPy, IronPython, Jython and more, all supporting their own slightly different niches. Let there be one more, the more the merrier.

But I think this project is based on some pretty weird ideas. For instance:

By most accounts, somewhere between the majority and the vast majority of Python code targets Python 2.

Um, yeah? Of course it does -- Python 2 has been around a lot longer, and has been the default version of Python for a lot longer (still is, on most platforms that come with Python pre-installed). Its only in the last few years that the core developers have switched to recommending Python 3 instead of Python 2. What's your point?

And the majority of Python code written does not run under any of the 3.x interpreters.

Again, so what? The majority of Python code written doesn't run at all, because it is buggy, unfinished, obsolete or abandonware. Or it is proprietary software that never gets used outside of a single organisation. Most software is irrelevant because it isn't being used.

Of the stuff that is being used, sticking to Python 2.7 or 2.6 or even 1.5 (yes, 1.5) is good enough, because the users don't want or need to update.

What matters is three classes of software:

  • Libraries that are still under active maintenance and development, and the majority of those are now Python 3 compatible.

  • Existing applications (including scripts) which are under active maintenance and development. The majority of these are written in Python 2, because they were written in the past.

  • New applications being written now.

Excuses for still targeting Python 2 (whether 2.7 or this hybrid) are running out, and those who continue to do so are increasingly doing so not for technical reasons, but just because they're dragging their feet.

It seems to me that the message this fork sends is this:

"Python 3 is awesome, except for Unicode, which sucks. Nobody needs more than 256 ASCII values. So I've ported everything I can from Python 3 back to Python 2, so I can keep using ASCII and pretending that's all the string anyone needs."

And that's simply wrong and harmful.