On Fri, Dec 27, 2013 at 9:51 PM, Rustom Mody <rustompm...@gmail.com> wrote: > On Fri, Dec 27, 2013 at 11:53 AM, Dan Stromberg wrote: >> On Thu, Dec 26, 2013 at 9:43 PM, Rustom Mody wrote: >>> 2. Always write strings with a u" prefix >> 3.0, 3.1 and 3.2 don't understand this, but 3.3 does. > > Ok > I was writing this under the assumption that 2 is really entrenched > whereas 3.n is dispensable when 3.n+1 comes out > At least on my debian box 3.2 recently got obsoleted and removed when > 3.3 came out.
That's true except for the "comes out" part. Just because python.org has released a newer 3.x Python doesn't mean everyone has it; Debian Wheezy (the current stable) ships with 3.2, and Debian Squeeze (the current oldstable, still supported and will be until some time 2014 probably) ships 3.1. So for scripts that need to be deployed onto one of the most popular Linux distributions, supporting only 3.3 is pretty much out of the question. And Red Hat, generally, is supported for even longer. I don't know what Python versions are going to still be around for the next ten years, but the easiest way to check would probably be to see what RHEL support dates and Python versions are. However, I do broadly agree. For controlled environments, you should be able to slide from 3.1 to 3.2 to 3.3 to 3.4 on whatever schedule you choose, and happily drop support for the older versions. But in less controlled environments, that's a bit harder. Probably within the next 5 years, it'll become reasonably plausible to support nothing older than 2.6, and then all those 3.x compatibility __future__s will be all you need. Well, most of what you need. There are still fundamental issues with functions not taking Unicode strings, but that's going to be a problem whatever you do. But life'll be a lot easier. ChrisA -- https://mail.python.org/mailman/listinfo/python-list