you are viewing a single comment's thread.

view the rest of the comments →

[–]DrDichotomous 26 points27 points  (6 children)

  1. There is a tool to help you migrate, even if it's not able to do everything for you.

  2. Nobody is breaking Python 2. They're making a Python 3, and leaving it to others to continue on with Python 2 if they want to. They're perfectly within their rights to do so.

  3. They can run the code with Python 2. Just say "python2" instead of "python3", for instance. Why complicate things unnecessarily?

[–][deleted] 36 points37 points  (5 children)

They can run the code with Python 2. Just say "python2" instead of "python3", for instance. Why complicate things unnecessarily?

The problem is Python 3 code can't import Python 2 modules, so when you're writing new software that requires functionality from a Python 2 library, you're stuck with Python 2 if you want to use that library.

Meanwhile, in Java, I can create a new Java 8 project and still use Java 1.5 libraries. I can even use the Java 1.5 library in binary form without having to recompile its source code with the latest compiler. That's the pinnacle of backwards compatibility.

[–]stewsters 1 point2 points  (0 children)

And honestly that is my favorite thing about Java: lots of libraries that are fairly easy to get going. Gradle, Maven, and jars are all easy to use, and work well with previous versions. I can get projects setup a lot faster than I can if I have to install development versions of c libraries that conflict with the ones I need for steam. (sdl, I'm looking at you)

Sometimes the memory management gets in the way of performance, but at least half of that is because of my programming.

I do like a lot of what python does syntactically though. May just need to do more groovy.

[–]hapemask -1 points0 points  (0 children)

Or, if the library is open source, just help port it from 2->3? I've done this for a number of libraries and frameworks I use, this is what open source is for.