I’ve recently been chatting about Julia, and somebody made some comments that I think would fit well here:
I have a serious discoverability problem with Julia. Or perhaps Julia has the problem. The manual explaining Julia concepts is pretty good, but the documentation for most packages I need to use is inadequate. There’s a lot of friction even when doing simple things. For example, I can’t get keyword argument completion for functions with Eglot. I don’t remember how to manipulate
plotfeatures, and it’s off to the Plots.jl documentation for me every single time.(Keyword argument completion is available with Python’s LSP implementation for me.) The Plots.jl docs are a good example of Julia’s almost-but-not-quite problem. It takes me forever to find what I’m looking for on there, (again) every single time. I’m not sure why. The second issue with Julia is that the names for functions aren’t great. Or at least not consistent. I use Mathematica once every few months, but between the auto-completion and the consistent CamelCase naming scheme I never have to leave the Notebook interface to find (or remember) what I want.
The package ecosystem is bewildering. Not its mechanics, it appears to be well engineered and documented in the manual. It’s learnt from Python’s mistakes, at least. I mean searching for, deciding on and using an (often poorly documented) package to solve a problem is a painful task, especially since replacements spring up all the time. I’d like to get to the point where I can appreciate the much celebrated serendipities of Julia’s design. But the language+ecosystem wears me down every time I try to use it for a project.