Discussion on "Why I no longer recommend Julia" by Yuri Vishnevsky

I’ve come to Julia after having previously worked within the SciPy ecosystem, so I’d say there are two forks here:

  1. Some of the stuff that Yuri identified, like the aliasing issues of sum! is really bad. This is the kind of thing that the SciPy team really hammered out early on, and you never had to worry about the correctness of the output.
  2. I give the Julia developers a bit of a pass on other stuff, like the issues with Zygote.jl, which is really beyond “core” Julia. But automatic differentiation is a generically important tool, and Julia should have it.
    This leads to a gripe I’ve had since the beginning, which is that by ceding the direction of the ecosystem to the community, you get buggy and redundant packages. As noted elsewhere, ForwardDiff.jl works for a lot of smaller scale stuff, but is inadequate for the ML stuff that prompted Zygote.jl. Right now, we’ve got people developing for both. But would it be better to have everyone work together to either extend ForwradDiff.jl to be suitable for ML or should all the efforts be on getting Zygote.jl fixed?
    I know there are arguments in favor of having this kind of massive community driven flexible ecosystem, but I really think it ends up creating confusion and disappointment with redundant and/or incomplete packages. A good example of this is interpolation; there have got to be at least a half a dozen different tools for 1D/2D interpolation. This is the sort of stuff that SciPy resolved, with the main developers slowly adding in “official” routines to the main package over time.
18 Likes