4 ms·
I tried really hard to like Julia and it just isn't happening for me. Slow startup, bad documentation, fragmented ecosystem, poor error messages and stack trace
by jstx1 5y ago
I tried really hard to like Julia and it just isn't happening for me. Slow startup, bad documentation, fragmented ecosystem, poor error messages and stack traces, encouraging the use of unicode glyphs and operators... it's been a horrible beginner experience all while the Julia community keeps telling everyone (and each other) how amazing the language is. I'm not seeing it.
- ChrisRackauckas 5y agoAgreed on the stacktraces. I think a few small tweaks can make them a thousand times easier to read https://github.com/JuliaLang/julia/issues/36517 https://github.com/JuliaLang/julia/issues/36517 (and an ongoing PR https://github.com/JuliaLang/julia/pull/40537 https://github.com/JuliaLang/julia/pull/40537)
- blindseer 5y agoI agree about the slow startup, poor error messages and stacktraces, and that itself makes Julia a very rocky beginner experience. The number is times junior engineers have asked me to help resolve method errors is comically large. Unfortunately, when you know what is going on with dispatch you can see through the stacktrace quite easily, and this makes it difficult for experienced Julia devs to see why the status quo is a problem. I don’t imagine this will be easy to get the ayes for a change here, let alone what the change should be. It is particularly frustrating when Julia advocates don’t see how much friction this causes and when they claim multiple dispatch and performance make this friction worth it. Surely core devs have seen beginners struggle as part of tutorials. Maybe they are just hoping these people will learn and figure it out? I’ve seen way too many people give up and just use python instead because they are not thinking about performance and just want things to work. I agree that I’m not seeing how Julia will take more of the general programming pie, especially given the work on getting JIT to Python in the next couple of years + ease of writing rust/go/zig, unless there’s significant more work put into reducing latency or PackageCompiler.jl. But I don’t find the ecosystem fragmented or documentation poor. In fact one of the examples I give for great documentation is the Julia Manual. Can you provide examples where you find documentation lacking? As for Unicode glyphs, I find it hard to read too but domain scientists find it really easy and since that is the target audience I think the encouragement is warranted.
- kristofferc 5y ago> unless there’s significant more work put into reducing latency or PackageCompiler.jl. What features do you want out of PackageCompiler.jl? Any specific workflows you have in mind?
- tpoacher 5y agoThe manual is fine. It's the in-repl documentation that tends to be poor. That's gotten a bit better lately too though. For core julia at least.
- sega_sai 5y agoYes, I share similar thoughts. It was exciting when Julia came in, and it looked like it's going to replace a lot of python software in science. The symbolic differentiation is still quite nice. But every time I tried to code simple projects in julia, I've encountered packages that are not supported anymore, incompatibilities between versions and difficulties in reaching good enough performance among other things. I don't think I'll use Julia myself anymore and stick to python with occasional c/c++ for really performance-critical bits.
- ChrisRackauckas 5y agoI think having v1.0 as the LTS hurt quite a bit since some packages (DifferentialEquations.jl) never worked on the LTS, so we just kind of YOLO'd for a bit from version to version only testing the latest. The next LTS is v1.6 once v1.7 comes out. I think a lot more package ecosystems will start adopting tests on the LTS, which will make versioning issues a lot less prevalent.
- kristofferc 5y agoI think very few people use the LTS (especially not people that would write here) so I don't think that matters very much.
- dunefox 5y ago> it's been a horrible beginner experience For me and others, this has not been a problem.