Agree on the rest, but multithreading in Julia is a let down.
The manual (https://docs.julialang.org/en/v1/manual/parallel-computing/) claims it's composable, but that's only true if you stay within Julia with the paradigm of Tasks. As soon as you interface with C/C++, you get a SegFault, as the Julia runtime expects to adopt [1] all threads calling into it. This is not always viable.
Julia should offer the option of C-style pthreads (or the Windows equivalent) and let others build abstractions on top of them.
[1] And that option was only added recently.