4 ms·
I think we can be more charitable than this: it's possible to be both immensely popular and to have a sub-par packaging experience that users put up with. That'
by woodruffw 3y ago
I think we can be more charitable than this: it's possible to be both immensely popular and to have a sub-par packaging experience that users put up with. That's where Python is.
- globular-toast 3y agoThe trouble is people compare it to greenfield languages of the past few years with nowhere near the scope, userbase or legacy of Python. Long time Python users like me don't have any of the problems that the non-Python users that always post these comments have. It would be nice to have improvements to packaging, sure, but it's always just completely non-constructive stuff like "it's not as easy as <brand new language with no legacy>".
- jonnycomputer 3y agoBig assumptions here.
- jshen 3y agoJava 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.
- woodruffw 3y agoI agree with all of this! Ironically, grievances around Python packaging are a function of Python’s overwhelming success; non-constructive complaints about the packaging experience reflect otherwise reasonable assumptions about how painless it should be, given how nice everything else is. (This doesn’t make them constructive, but it does make them understandable.)