On 19 January 2014 12:04, Steven D'Aprano email@example.com wrote:
On Sat, Jan 18, 2014 at 07:13:32PM -0600, Neil Schemenauer wrote:
I disagree. The amount of Python 2 code that exists exceeds the amount of Python 3 by orders of magnitude. That existing codebase either stops evolving and stays Python 2 forever
Why is that a problem? Some people will never migrate away from Python 2.7/2.5/2.4/1.5. That's okay. A few months ago I ported an application from 2.3 to 2.6. It's not well recognised that Python 3 is not the first time Python broke backwards compatibility: string exceptions
raise "This is an error"
became a warning in 2.5 (I think) and a SyntaxError in 2.6. This application made extensive use of string exceptions. My customer was happy with 2.3 code for years, until they upgraded their server to a version of Centos with 2.6, and that was the only reason they upgraded. I expect they will stick with 2.6 until such time as they upgrade the server again in another decade or so, and that's fine. They may never upgrade, and that's fine too.
For anyone that ever travels by plane, it can be worth watching aircraft entertainment systems go through their boot cycle to see what they're running on (the difficulty of getting software, even entertainment software, approved to run on aircraft can make for very long lead times). The last one I checked was based on Red Hat 7.1, released in 2001 and unsupported for a very long time, but still entirely serviceable for that particular use case.
Old doesn't always mean broken, sometimes it just annoys your developers to be asked to use such old and blunt tools when newer and sharper ones are available :)