6 ms·
Well, that seals the deal. Bummer. I really hoped Armin would come around, and I committed to Werkzeug for a new project with eyes on 3. This was a direct resu
by jedsmith 16y ago
Well, that seals the deal. Bummer.
I really hoped Armin would come around, and I committed to Werkzeug for a new project with eyes on 3. This was a direct result of the PEP 3333 acceptance, and I apparently backed the wrong horse.
The worst part of this whole thing is that it is getting harder to explain working in Python to my other-language friends. Well there's 3, and yeah it's at 3.2, but don't use it. Nobody uses 3. Maybe distribute. Maybe setuptools. I'm not sure.
As a non-participating, quiet consumer of Python, I am very confused about the future of my chosen language. I think it is intermediate, perhaps career-minded (internal) users of Python like myself that are confused the most.
Edit: On reflection, I was encouraged to see what I perceived to be frustration on the part of GvR (in the acceptance thread for 3333 on Web-SIG), so here's hoping this will be a good year.
- Smerity 16y agoI must say I have a great deal of respect for Armin and thought he represents a good viewpoint. The convergence of some of Python's web frameworks is great and the fact that WSGI has become such a central specification is great. In relation to Werkzeug and Python 3 you'd have to ask Armin himself but I think he said merely that a direct port of Werkzeug isn't likely possible as opposed to Werkzeug will never be ported to Python 3. Werkzeug is lower level and likely can't be ported directly due to a number of the differences between Python 2 and 3. As he points out higher level libraries like Flask stand a far greater chance of surviving direct ports from Python 2 to 3.
- mgw 16y agoI fully agree with this sentiment. This whole discussion about 3 or 2, which isn't really one for Python developers involved in the community, is hurting mainstream adoption the most. People don't like to learn a new language, when they're not sure which the future proof way to start is and when the project behind it seems to be 'in limbo'. I hope this doesn't hinder the Python project too much.
- fauigerzigerk 16y agoWhat 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.
- Luyt 16y agoI 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.
- fauigerzigerk 16y agoI'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.
- muuh-gnu 16y ago> 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?
- jedsmith 16y agoI 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().
- the_mitsuhiko 16y ago> I really hoped Armin would come around, and I committed to Werkzeug for a new project with eyes on 3. All commits to Werkzeug are currently happening with a port to Python 3 in mind. However I am not going to do the same mistake the standard library made in many parts and change the semantics of the library for Python 3 and trusting 2to3 to do the correct thing. A full port of Werkzeug to Python 3 will take time but it will happen eventually. The point here is that everybody should go with Python 2.7 and write the code forwards compatible. Then you have all the options (of going with PyPy if you need and upgrading to Python 3 if it's worth the effort). All I can say right now is that so far users are not too eager with Python 3 yet and I have limited resources as well. If anyone wants to help out, I am more than happy to assist in any way possible to make Werkzeug run on Python 3. I also monitor changes in the stdlib that could affect WSGI on Python 3, so it's not that I'm ignoring it. Python is not on the way to suicide. All I said was that right now you shouldn't be too concerned with Python 3 yet and instead make your own code upwards compatible. If your base Python version is 2.7 upgrading will not be the biggest problem, especially not if you are working on a high level like you do when you use a web framework.
- jedsmith 16y ago> I have limited resources as well I'd like to make clear that I wasn't bitching, because I know exactly how the limited resources dance goes. Disappointment with further confusion between Python 2 and 3, yes; disappointment with you, no (are you kidding? half my stack is Pocoo stuff). > All I said was that right now you shouldn't be too concerned with Python 3 yet The real question is when "yet" will be. Python 3's been out two years, and I don't think I'm alone in the community in wondering if it'll ever be completely figured out. The fact that PEP 3333 was just accepted is a testament to the slow nature of the thing. It's getting tiring to want to use 3 but instead having to stick with 2to3. Even that is a distant goal: when will I be able to finally run 2to3 and move entirely to 3? If I'm entrenched in a lot of Python 2 libraries, I'm beginning to believe (two years later) that the big day will never come. Python 3 is great. I want to use it. It's fights like Web3 vs. WSGI and the resistance to (or impossibility of) porting the libraries I use that are personally keeping me away from it. I think that speaks for the lack of eagerness to move to 3 that you've observed. It's very real, and entirely, I think, due to libraries. I'll be at PyCon as well on behalf of my employer, and I'm interested (as it sounds like you are, from your blog post) to hear what the consensus is on Python's future. Right now, I have a lot of questions, and nobody seems to have answers.