What's Bad About Julia | Jeff Bezanson | JuliaCon 2019
Why Hacker News recommends it
HN cites it as the language creator's honest account of Julia's weaknesses, useful for anyone evaluating the language.
What it is
Julia co-creator Jeff Bezanson candidly lists fundamental problems with the language at JuliaCon 2019, including modularity, types and compiler latency, and how they might be solved.
Recommended by 2 HN commenters across 2 different months, 2019 to 2026.
What Hacker News said
Recommends chappi42 · 2019-08 · on “Giving up on Julia (2016)”
A good opportunity to point out this Juliacon 2019 video: What's Bad About Julia ( [this video] ) TL;DR: Julia is not that bad.
Recommends seertaak · 2026-02 · on “Show HN: A physically-based GPU ray tracer written in Julia”
Just to clarify the above: 1. I use the term "performance" slightly vaguely. It's comprised of two distinct things: the time it takes to compile the code, and the execution time. The issue is the compilation time: there are certain cases where it's exponential in the number of types which could unify with the callsite's type params. 2. IIRC, Julia compiler has heuristics to ensure things don't explode for common cases. If I'm not mistaken, not only do compile times explode, but certain (very common) things don't even typecheck. There's an excellent video about it by the designer of the language, Jeff Bezanson -- [this video] . Note: Julia experts, please correct me if this has been fixed. 3. The
Cites chrispeel · 2019-07 · on “Julia: Come for the Syntax, Stay for the Speed”
The "time-to-first-plot" (compiler latency) problem is something that the Julia gurus know about and are working on. For example, Jeff Bezanson gave a talk [1] at the just-completed JuliaCon that listed this as the first on a list of known problems with Julia. One immediate solution is to use PackageCompiler.jl [2] to build a Julia image that includes a pre-compiled version of the slow code (packages). [1] [this video] [2] [LINK]
Cites Certhas · 2019-08 · on “Giving up on Julia (2016)”
Indeed, and while there is plenty to still be worried about, a lot has been addressed, too. Further we are now starting to see the pay-off with amazing algorithmic innovations being implemented in Julia. We have working code to code automatic differentiation: [LINK] Finally, the core team is paying attention to the problems and addressing them. All my top complaints are already mentioned in the laundry list: [this video]
Cites sischoel · 2021-03 · on “How C++ Resolves a Function Call”
Julia is dynamically typed, but if the compiler can deduce the type of your expressions, it will usually generate specialized code that avoids dynamic dispatch. Getting rid of type instability (as it is called) is usually one of the first things I do when trying to optimize a Julia function. The discussion about C++ lookup rules actually really reminded me of Julia, where functions are quite often overloaded and it is not always trivial to figure out which one should be called. For lack of a better source, there is something about that in this talk: [this video]
Cites ChrisRackauckas · 2021-07 · on “What's bad about Julia?”
>I’ve had a lot of frustration with the Julia community being unwilling to see faults in the language. What? It's basically a meme at this point for major contributors to write a list of what they think is bad. The language's creator did a nice Youtube video "What's bad about Julia?" at JuliaCon 2019 ( [this video] ), one of my most popular blog posts of all time is "7 Julia Gotchas and How To Handle Them" ( [LINK] ), etc. What the community pushes back about is things that are factually incorrect or just silly and repetitive, like the n+1th discussion about 1-based indexing. It's stuff below like, "I want to do an interactive workflow but not use the REPL, so it's not working well"... well the R