3 ms·
Java and Ruby both have much better dependency management experiences and both have been around for far longer than a few years.
by jshen 3y ago
Java and Ruby both have much better dependency management experiences and both have been around for far longer than a few years.
- deleted 3y ago[deleted]
- antod 3y agoAs someone who dealt with Java and Python 20yrs back, I don't think Java is a valid comparison. Java had a terrible or non existent OS integration story - it didn't even try to have OS native stuff. It was it's own separate island that worked best when you stayed on the island. On Linux, Python was included in the OS so you had the two worlds of distro packaging and application development/deployment dependencies already in conflict. Macs also shipped their own Python that you had to avoid messing up. And on Windows Python was also trying to support the standard download a setup.exe method for library distribution. Java only ever had the developer dependency usecase to think about. Before Maven most Java apps just manually vendored all their dependencies into their codebase, or you manually wrangled assembling stuff in place using application specific classpaths and additions to path env vars etc.
- jshen 3y agoToday, java has much better dependency management than python. Nearly all popular languages do.
- antod 3y agoYeah, but you were refuting someone pointing out why that was with the difference between a later green field system in a smaller problem space that could learn from earlier systems vs one with a lot of extra use cases pulling in different directions, complications and legacy to overcome. The competing 3rd party Python projects for packaging early on were learning a lot of lessons the hard way that both left behind legacy to clean up and paved the way for other languages to skip ahead all that usually with a single blessed solution. Of course a well resourced language that didn't have to worry about native OS/distro integration and only started solving dependency distribution and management later after learning from others is going to have a better system. It would be a total surprise if it didn't.
- jshen 3y agoThere is no excuse for the state of python dependency management. Every similar language has figured this out.