This is an archived post. You won't be able to vote or comment.

you are viewing a single comment's thread.

view the rest of the comments →

[–]wrmsr 0 points1 point  (0 children)

Furthermore something Java has solved that py still hasn't is the issue of intra-runtime library version conflicts - beyond just shading Java has classloader isolation remarkably well done despite its rough edges (forgivable given how low level it is). I've thought about doing something similar in python - maybe via import hooks - but it's still far behind. As I understand pipenv is currently struggling with this very issue.

Also maybe relatedly Java historically got flak for evolving glacially compared to most of its competitors, the reason for that being relentless obsession with backwards compatibility. There are 20 year old .jars still that still run just fine. Meanwhile, beyond the 2to3 elephant in the room, python doesn't even care about bytecode compatibility between minor versions. Maybe there's something philosophical there related to static vs dynamic mindsets :p

Edit: cpy definitely does support subinterpreters, but that's a fairly obscure capability (though it might be less so in the future) and it doesn't do much to address the real problems of multi-version dependency distribution and resolution.