4 ms·
Wording aside, it's all about change. Yes, the Python / Django community has a strong emphasis on backward compatibility - don't break things unless you have a
by teilo 14y ago
Wording aside, it's all about change.
Yes, the Python / Django community has a strong emphasis on backward compatibility - don't break things unless you have a very good reason. It works, and it works well, particularly in business where the app itself isn't the business.
I can understand wanting the cutting edge when the app is your business, when you eat, sleep, and breathe it, and your bottom line is tied to the app. But when you are just trying to get the work of the enterprise done, consistently, day after day, you don't want your tools to break just because you need the latest security updates, or would like to take advantage of new framework features.
This is something like comparing Gentoo to Debian. I've run both as enterprise servers. Today I use Debian, and won't use anything else, for fairly obvious reasons.
You will have to excuse the author for not being up on Python 3 developments, since that's not his world. That is actually proceeding very well, and is getting very close to critical mass. For the bulk of new development, I could switch to it today, particularly with the release of 3.3. In fact, once I'm sure that 3.3 is stable (a couple point releases), I will probably begin using it.
- bitboxer 14y agoDjango is not ready for python 3.x right now. The support for 3.x is in "beta" right now. I hope when the final 3.x support is released, a lot of more traction is going on towards 3.x . The current state is pretty bad :(.
- teilo 14y agoMy use of python in the enterprise is way bigger than the Django world. That said, it's not that bad, even with Django. I think you over-estimate the current state of affairs. Six will be bundled with Django 1.5. By 1.6, I am confident that Django will be 3/2 compatible. Until then - I'm not hurting by running 2.7. Seriously, it's just not a problem. No angst.
- bitboxer 14y agoIf I overestimate it, why do all python devs I talk to still use 2.x and say that they can't use 3.x because all kind of problems?
- SoftwareMaven 14y agoGVR said to expect a five year migration. We are four years in. Major projects like NumPy have had support for a while. Pyramid supports it. Django has good enough support that library authors can start migrating their changes. Python 3.3 took out a major source of 2/3 conflict by putting u"" strings back. It would not surprise me to see a lot of newly updated code be 2.7/3.3 or greater as a result, but it will hasten the conversions. All in all, with a year left in the migration path, I'd say we are doing OK. The VM is in good shape for production use and the libraries are coming along well. I think the biggest danger is all the hand-wringing about how everything has gone wrong, who didn't read the fine-print to start.
- dmorgan 14y agoA question I have is how the duck can a language like C# introduce TONS of changes from 1.0 to 5.0, including major syntactic, semantic and library features, and still be widely adopted, whereas Python has to have a "five year migration" for what are essentially some minor language changes.
- teilo 14y agoThey were not minor changes, though they might appear to be so from the outside looking in. The unicode changes alone are significant enough to require a significant refactoring of existing code - due to the monkeying around that was required to properly deal with Unicode in 2.x.