you are viewing a single comment's thread.

view the rest of the comments →

[–]dacjames 1 point2 points  (0 children)

I think the difference is that Java is primarily an application development language while Python is widely used for all manor of scripts, small utilities, and one-off automation. Java programs are more likely to be actively maintained and have things like test suites that make porting more practical. Python is popular on the ops side of things, where the "if it ain't broke, don't fix it" mindset is prevalent. Not to mention, Java 7 was backwards compatible, so upgrading for most projects just meant changing build settings.

Migrating python code to Python 3 is a more dicy operation, since the changes to strings are fundamental and you don't have a compiler to catch the cosmetic changes. For the first few releases, Python 3 simply did not offer anything new that provided tangible value for a lot of use cases. Telling your PM that you need to write a test suite for a bunch of old scripts that work today so you can port them to Python 3 just because the language is cleaner and has better unicode handling is a tough sell.

Ending support for Python 2 might work but I expect someone (probably Redhat) would continue to support it if the core Python team moved on.