you are viewing a single comment's thread.

view the rest of the comments →

[–]trident765 1 insightful - 1 fun1 insightful - 0 fun2 insightful - 1 fun -  (2 children)

I don't have enough content to write a full article but my view of python is it is a good programming language with bad dependency management options. The most popular package managers are pip and conda. If you try to install an older python package (like 5 years old), it is always a nightmare to get it to work because it tries to update the other packages to versions that will break your software. There are ways to force it to use older versions, but with python the dependencies tend to have a bunch of other little subdependencies, so you if you want to use an old version of the dependency you have to look up what versions of all the subdependencies work with the older version of the dependency. The end result it that you are basically always forced to use the newest version of the software. This makes "client software" function in some ways more like "server software", where the current software developers have totalitarian control of their software, and if you don't like it there is really no option to revert back to an older version.

In java programs I have dealt with, the dependencies seemed more straightforward. Just a few key jar files in a folder. No stupid package manager that tries to update everything.

[–]fschmidt[S] 1 insightful - 1 fun1 insightful - 0 fun2 insightful - 1 fun -  (1 child)

Why do you need a package manager? Can't you just bundle everything you need together with your software?

[–]trident765 1 insightful - 1 fun1 insightful - 0 fun2 insightful - 1 fun -  (0 children)

Yes, and I've even succeeded in zipping packages and including them this way, so that it is exactly like a jar library in java. But no one does this.