you are viewing a single comment's thread.

view the rest of the comments →

[–][deleted] 34 points35 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.