News for hackers. Stuff that matters.
Re:Python Is Eating the World by jnwatson on Monday August 12, 2019 @12:48AM (#20672503)
"Inexcusable". You know this started in 1989 and its major competition was Perl and TCL, right?

The same issues exist in C, C++, Java and nobody seems to be complaining about those at the same volume.

Re:Python Is Eating the World by futureastronaut on Monday August 12, 2019 @01:57AM (#20672811)
People here are just very dramatic. I think I need to not read (or write) HN comments for a long time, there is some serious distorted reality about.
Re:Python Is Eating the World by mnky9800n on Monday August 12, 2019 @06:36AM (#20674153)
It is inexcusable how dramatic people are on HN.
Re:Python Is Eating the World by goatlover on Monday August 12, 2019 @10:56AM (#20675956)
I see you've never been to Reddit.
Re:Python Is Eating the World by jcranberry on Monday August 12, 2019 @11:37AM (#20676399)
50% of C++ devs don't use a package manager and 27% rely on a system package manager [1]. You don't hear C++ devs complaining about these issues not because they're happy with the state of dependency management in C++ but because there's a very low rate of adoption for package management systems. That, and the state of dependency management in C++ was so bad for so long that it's viewed as a fact of life.

1. https://www.jetbrains.com/lp/devecosystem-2019/cpp/

Re:Python Is Eating the World by takeda on Monday August 12, 2019 @07:28PM (#20681237)
Also with C and C++ your dependencies compile with your code into a single binary, unless you explicitly opt into using a library, and when you do it becomes a package manager's issue not yours.
Re:Python Is Eating the World by jnwatson on Tuesday August 13, 2019 @06:25PM (#20690876)
That's vastly oversimplifying the problem. "DLL hell" is a term for a reason. The vast amount of effort and complexity Microsoft has put into managing this problem is proof that dependency management for C and C++ is not a solved problem.
Re:Python Is Eating the World by takeda on Friday August 16, 2019 @05:34PM (#20719940)
It is not a solved problem, but it is a problem that C and C++ developers don't care about, because it is a problem of packagers.

This is why it doesn't seem so bad if you're programming in those languages.

Re:Python Is Eating the World by jcranberry on Friday August 23, 2019 @04:52PM (#20782441)
We definitely care about it. And I don't know why you think C++ developers can just push issues onto packagers when 50% don't use any kind of package management system. Meaning compiling libraries from source.
Re:Python Is Eating the World by chii on Monday August 12, 2019 @04:47AM (#20673645)
this issue outlined above doesn't exist in java, as long as you use maven.
Re:Python Is Eating the World by StavrosK on Monday August 12, 2019 @05:23AM (#20673777)
The issue outlined above doesn't exist in Python, as long as you use Poetry.
Re:Python Is Eating the World by krzyk on Monday August 12, 2019 @06:21AM (#20674084)
Maven is de facto standard dependency management in Java (most of projects use it).

Poetry is not the most used (or known) dependency management in Python.

Re:Python Is Eating the World by StavrosK on Monday August 12, 2019 @06:25AM (#20674106)
So? Nothing is stopping you from using it in your projects, thus solving your problem for good.
Re:Python Is Eating the World by chii on Monday August 12, 2019 @07:31AM (#20674435)
If a project you want to depend on isn't using a dependency management framework, how would you then make it work in your project? You will have to do extra work to define the transitive dependencies!

What needs to happen is standardization - this has been done in java because of it's maturity. There's almost no java project that isn't using the standard maven dependency management (even projects that don't use maven, such as gradle projects, would use maven dependency management, and export themselves as an artifact usable via maven).

Javascript has an even worse problem, so python isn't alone me thinks...

Re:Python Is Eating the World by StavrosK on Monday August 12, 2019 @08:49AM (#20674924)
There are two main ways:

First of all, Poetry locks every dependency (even transitive ones) to the version you know works. This solves the problem of the project not using dependency management properly.

Secondly, setup.py allows you to specify your dependencies there, so most libraries use and specify that, which means that that isn't that much of a problem in Python. Sure, sometimes it is, but I haven't run into that particular problem very often.

Re:Python Is Eating the World by feanaro on Monday August 12, 2019 @07:06AM (#20674324)
Poetry is just rather new. Give it a few.