Skip to content

Comment on Python, the Web and Little Things on my Mindparent

Comments

What I find so odd about this whole Python 3 situation is how completely accepting the Python community has been in the face of what amounts to programming language suicide. How on earth is it possible that none of the web framework authors decides to break with the past and just ports to 3 regardless of any incompatibilities? Why is an antiquated web server interface like WSGI more important than the whole of Python? Why are the popular postgres adapters and many other libraries not ported to 3? I just don't get it.

Of course all these people work for free so no one can tell them what to do. But I'm honestly baffled. If I work for free over years and years, supporting a programming language I like, I don't let it die like that.

I have looked into some of these unicode issues myself and I have a general idea about what the technical porting issues are. It's not rocket science. It must be something completely non technical that's going on here and I don't understand it.

It's infuriating for me to see that happen to a language I have been using on and off almost since its inception.

I wouldn't call it 'programming language suicide'. Are developers who are working on Perl 6 intent on killing Perl 5? When generics were added to Java, was that done to eliminate the Java language?

Nah, people are just progressing. Over time, certain deficiencies are recognized in programming languages, and they get repaired. In the case of Java, generics were sorely missed, so they got added. In the case of Python 3, unicode support will be much better streamlined, and standard libraries get a bit restructured; some names are cleaned up. It's not like half the language changes. Not even 2%, is my guess.

I'm not calling the changes in Python 3 suicide but rather the fact that so many library/framework writers do not update their code to support Python 3. This is killing Python's momentum in my view.

A couple of months ago I decided to use Python for my (undergraduate) dissertation project. I assumed that the newest version of the language is the one to go with. And everything was fine until a few days ago when I discovered finding a library to draw simple graphs that is compatible with Python 3 requires quite an effort.

Now I have to either take everything back to 2.7 or keep believing that I will finally manage to work it out with 3.

How is that going to kill the "momentum" I received and change my feelings about Python? It's not going to change them. I enjoyed every single moment of coding so far, even those very first ones where I kept inserting curly brackets everywhere. So, if it fits my needs, I am going to use it in future projects as well.

How is that going to change the industry's feelings about Python? Who knows? But I doubt the industry worries about "momentum". If you are using 2.7, keep using it until Python 3 is usable for your. If you are not using Python yet but you want to, do your research beforehand (something I falsely didn't do) and decide what's best.

Now, how long is it going to take for the major libraries/frameworks to be Python 3 compatible, nobody can tell. And it's funny as we are approaching the "3.2" version already.

But, honestly, who cares? Is a number more important than the language itself?

> This is killing Python's momentum in my view.

It is not the job of application developers to keep up a languages "momentum", its the language creator's job. If he underestimated the momentum of the current version and didnt bother to inter-coordinate incompatible language upgrades with his users and introduced a new trademark-diluting version anyway, you cant simply blame the users for not investing time and money in order to "protect the language". They are not obliged to follow whereever he leads, and if he wants to lead without caring about his followers, they might just decide not to follow any more. Who guarantees that he's not going to pull a Python3 again 5 years down the road and then sing the same "not updating is momentum killing" song again?

I think it's pretty unfair to call this situation Guido's fault. Python 3 was developed with a significant amount of feedback from the community, and it was in development for years before being released. At multiple points in the process, Guido listened to feedback and conceded; one instance that comes to mind is Guido wanting to drop lambda, map(), and filter().

No one is obliged to do anything, least of all application developers, and I wasn't talking about them at all. I was wondering about the motivation of library and framework maintainers. It wasn't my perception that the process leading up to Python 3 was anything like the kind of language creator ego trip you describe. It was a longish collective process and it has since been made very clear that further language changes are not in the cards any time soon.

What if, in your statement, you've unwittingly come across the answer? Why wait for Python 2 libraries to port ... maybe there's a hole in the market here for Python 3 libraries to outright replace the Python 2 ones?

It sucks, yes, but it'll move Python 3 forward...

AboutSource Built by g1lg1l

Hackerly is an independent reader for Hacker News, built on the public HN API. Not affiliated with Y Combinator.