Live data from Hacker News

Correctness and composability bugs in the Julia ecosystem (2022)

yuri.is

31–40 of 83 posts

Re: Correctness and composability bugs in the Julia ecosystem (2022)

#31
post #16
post #4

Earlier quoted context omitted.

It cites an example from 2024 so the text has definitely been updated since 2022.

Usually when an article is substantively the same but has been updated, we use the original year. I've put 2022 in the title now. The previous HN thread: Correctness and composability bugs in the Julia ecosystem - https://news.ycombinator.com/item?id=31396861 - May 2022 (407 comments) Edit: since there are (again? I seem to remember this last time) complaints about the title being a bit too baity, I've pilfered that…

@dang, thank you for doing that.

When I posted the OP, I considered changing the title, but decided not to editorialize it, per the guidelines.

Re: Correctness and composability bugs in the Julia ecosystem (2022)

#32

I like the design of the language, but I eventually went through too many cycles of "fast compilation and/or module caching is coming in the next release" and "ahead of time compilation is coming soon" and got burned out. I remember believing the same stuff from java for years until forgetting about it.

The pre-compilation speed/caching performance ("time to first plot") has practically been solved since 2024, when Julia 1.10 became the current LTS version. The current focus is on improving the generation of reasonably-sized stand-alone binaries.

Re: Correctness and composability bugs in the Julia ecosystem (2022)

#33
post #20

I hear similar bugs exist in python libraries. Any recommended libraries (or languages) that have thoroughly verified libraries?

In my professional experience, the older numerics libraries tend to be more reliable, with the notable exception of Intel’s MKL.

Re: Correctness and composability bugs in the Julia ecosystem (2022)

#36
post #27

Julia is a very powerful and flexible language. With very powerful tools you can get a lot done quickly, including shooting yourself into the foot. Julia's type-system allows you to easily compose different elements of Julia's vast package ecosystem in ways that possibly were never tested or even intended or foreseen by the authors of these packages to be used that way. If you don't do that, you may have a much bette…

One of the basic marketing claims of the language developers is that one author's algorithm can be composed with another author's custom data type. If that's not really true in general, even for some of the most popular libraries and data types, maybe the claims should be moderated a bit.

Re: Correctness and composability bugs in the Julia ecosystem (2022)

#37
post #27

Julia is a very powerful and flexible language. With very powerful tools you can get a lot done quickly, including shooting yourself into the foot. Julia's type-system allows you to easily compose different elements of Julia's vast package ecosystem in ways that possibly were never tested or even intended or foreseen by the authors of these packages to be used that way. If you don't do that, you may have a much bette…

One can hardly call using the canonical autograd library and getting incorrect gradients or using arrays whose indices aren't 1:len and getting OOB errors “shooting oneself in the foot” — these things are supposed to Just Work, but they don't. Interfaces would go a long way towards codifying interoperability expectations (although wouldn't help with plain old correctness bugs).

With regard to power and flexibility, homoiconicity and getting to hook into compiler passes does make Julia powerful and flexible in a way that most other languages aren't. But I'm not sure if that power is what results in bugs — more likely it's the function overloading/genericness, whose power and flexibility I think is a bit overstated.

Re: Correctness and composability bugs in the Julia ecosystem (2022)

#38

Has anything changed since then? What are y'all's thoughts about correctness in Julia in 2025?

improving, still not perfect. it was true then, and is even more true now, that a large fraction of "correctness bugs" (maybe even the majority) arise from `OffsetArrays.jl`, so a simple solution besides "avoid Julia" is "avoid that package"

Re: Correctness and composability bugs in the Julia ecosystem (2022)

#40
post #6

> My conclusion after using Julia for many years is that there are too many correctness and composability bugs throughout the ecosystem to justify using it in just about any context where correctness matters. Does this have any impact on the cosmological emulator written in Julia? https://news.ycombinator.com/item?id=45346538

It certainly would if it were a timely and justified conclusion. Since it’s not, no, it has no impact.
Post reply on HN