Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

Django has been claiming ever since that there is just so much stuff in Django

Well, no.

There are basically two competing things that made this take a while, and which both stopped being issues right about the same time.

The first was that the initial Python 3 releases were not production-quality stuff. They worked, but they were there to let people get a feel for the changes and maybe start trying out the porting process. Anyone who just jumped to Python 3.0 shortly after release probably had no idea what they were doing (or had a very good idea what they were doing, but that group was a lot smaller).

The second was that we've got this thing, called a userbase :)

And, well, lots of 'em were running operating systems that were still shipping ancient stuff like Python 2.3, and we didn't really want to throw them under the bus, especially since it was mostly beyond their control -- a corporate department said "OK, we're going to go with RHEL", and that was that. So we waited a bit for that situation to start improving, and kicked off a process of deprecating one 2.x version each of the last few releases until, with Django 1.5, we're at a minimum of 2.6.

As for the "stopped being issues" part: Python 3.2 and especially Python 3.3 are very nice, much more mature releases than 3.0/3.1, added stuff that makes porting much less ugly, etc. etc., so suddenly running production stuff on Python 3 is really broadly viable. And, hey, we're on a minimum-2.6 stance now, and 2.6 is when the really nice porting and unified-codebase stuff got added!



Thanks for responding. This is food for thought and may be encouraging. We "just jumped on Python 3.0 shortly after release" and have been using it without a glitch for four years. I don't doubt your claim about Python 3.0's "readiness for production", though, because workstation number and text crunching "production" and high-volume web "production" are so different, but (in addition to other languages) we've been using Python3 as our only Python for years with no (known) problems.

I'd prefer to start doing webdev in Python3, too, as long as we can just work in Python3 without having our framework's (or our framework's vast, tortured userbase's) endless upgrade problems become our problems. We have no Python2 legacy baggage of our own, and I have no desire to go back and pick up anybody else's.

So when, approximately, will Django 1.6 ship, with "no reservations" about Python3 for production?

And do you have an estimate for when Django will deprecate Python2 entirely, so that Python3 programmers will become the assumed target for all features, docs, tutorials, code snippet examples, add-on modules, etc?


As a user of Django, I'd like to say thanks. This is how a framework should be built - with the users first and foremost, and with keeping support for old versions when it makes sense to do so.

I started using Django a few years ago, and still have old projects in old versions of Django. If Django would habitually "throw me under the bus", so to speak, I would quickly learn not to trust it and move to a better framework.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: