JARs still require a JRE to run, and the runtime needs to be invoked. The equivalent would probably be a Python zipapp (which are just Python files zipped into a .pyz the interpreter can run).
Static binaries are one advantage that languages like Go and Rust have though, yeah.
Also don’t forget that many compiled languages depend on a particular libc so you’re not totally in the clear there.
An ordinary compiled binary would be a fraction of that size, saving you time in provisioning and deployment.
Most programmers (HN is a bubble) hate learning new languages.
Docker should have never been necessary.
In your mind what would a good dynamic linker look like?
C/C++ build systems suck. But deploying a C++ program is much much easier than Python. And Linux is waaaay worse than Windows for both building and deploying imho.
I'll certainly checkout PEX, I think that distribution of a binary is likely the largest one for Python right now. Java solved it with a JAR file, static-compiled binaries for most compiled languages.
At Google PAR files have been quite a useful way to handle this for at least 18 years now, hope this can get reasonably solved everywhere.