frontpage.
newsnewestaskshowjobs

Made with ♥ by @iamnishanth

Open Source @Github

fp.

Open in hackernews

Correctness and composability bugs in the Julia ecosystem (2022)

https://yuri.is/not-julia/
91•cs702•1h ago

Comments

jerf•1h ago
@dang: I'm not sure exactly when this was posted since it seems to have no date, but it's at least (2022) per HN's link from that year: https://news.ycombinator.com/item?id=31396861

I mention this because this is definitely the sort of content that can age poorly. I have no direct experience, I've never so much as touched Julia.

tokai•1h ago
It cites an example from 2024 so the text has definitely been updated since 2022.
dang•1h ago
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 previous title for this thread as well

cs702•57m ago
@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.

Alexander-Barth•1h ago
The incorrect example of julia's documentation was fixed 2021: https://github.com/JuliaLang/julia/commit/f31ef767ef9cb0eb1d...

As an experiment, I would be interested to see if somebody would make a 1-based python list-like data structure (or a 0-based R array), to check how many 3rd party (or standard library) function would no longer work.

add-sub-mul-div•1h ago
We really don't need all the hall monitoring here, it's lame when you see a submission has comments but then it's meta stuff like complaints about dates and titles.
jerf•1h ago
"This Is A Really Cool Insect" doesn't really need (1998) in it, but for things like deficiencies of programming language it's helpful to know when the article comes from. "C++ Really Sucks (1995)" is a very different article from "C++ Really Sucks (2025)", and has very different takeaways for the reader.
refulgentis•1h ago
Jerf's been here for 17 years, me, 16 years.

I've seen this article several times, and I'm sure Jerf has as well.

Our instinct, with years of being here, is it isn't a good fit for HN, at least at its current age and as labelled.

It is not conducive to healthy discussion to have an aged[1] blanket dismissal of a language coupled to an assertion that saying "the issues looked fixed?" is denial of people's lived experience.

[1] We can infer it was written in 2021, as the newest issue they created is from then, and they avowed never to use the language again.

dang•1h ago
I don't think 'hall monitoring' is fair here - it's standard for HN titles to include the year that an article dates from, and it's standard for users to point out when such a year hasn't been added to the title yet.
wk_end•1h ago
The culture of "hall monitoring" is one of the best things about HN, IMO. It's one of the few places on the internet where people - including/not just the mods - care about maintaining a high quality of discourse.
TheRealPomax•1h ago
I think I may have missed what alternative is being recommended instead, after scrolling through the whole article.
wbolt•1h ago
None
taikahessu•1h ago
Hinted as Python not having these issues.
TimorousBestie•58m ago
Python also suffers from such problems. For example, here’s scipy’s issue tracker, filtered for bugs only:

https://github.com/scipy/scipy/issues?q=is%3Aissue%20state%3...

Scrolling through this list, it’s clear that many are “correctness issues.”

I do not link this to argue that scipy bugs are more serious or more frequent. I don’t think that kind of statistical comparison is meaningful.

However, I think a motivated reasoner could write a very similar blog post to the OP, but about $arb_python_lib instead of $arb_julia_lib.

I suppose my position is closer to “only Kahan, Boyd and Higham write correct numerical algorithms” (a hyperbole, but illustrative of the difficulty level).

cs702•1h ago
The OP shows examples of people being unable to solve a problem in Julia that they solve quickly after switching to PyTorch, Jax, or TensorFlow, so the OP is implicitly recommending those alternatives.
umvi•1h ago
He doesn't recommend any alternatives. Looking at his GitHub profile (https://github.com/yurivish?tab=repositories), looks like he's using a lot of Rust and Go these days, though looks like mainly for projects unrelated to the sorts of data crunching suitable for Julia, R, etc
acomjean•1h ago
We’ve had a lot of scientist use R and the “tidyverse” collection of packages. Ggplot2 is fantastic for graphing.

I thing a lot of them used “rstudio” to browse the data.

https://www.tidyverse.org/

croes•1h ago
> 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

SkiFire13•57m ago
I wonder if you can even distinguish correctness issues caused by these bugs in Julia from just the underlaying ML model behaving weirdly.
leephillips•20m ago
It certainly would if it were a timely and justified conclusion. Since it’s not, no, it has no impact.
CyberDildonics•1h ago
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.
mgkuhn•54m ago
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.
maxbond•1h ago
I'm reminded of the recent post about R's (CRAN's) somewhat radical approach to integration testing [1] and I wonder if something like that would help with the composition issues described here.

[1] https://news.ycombinator.com/item?id=45259623

dhampi•1h ago
I quit Julia after running into serious bugs in basic CSV package functionality a few years back.

The language is elegant, intuitive and achieves what it promises 99% of the time, but that’s not enough compared to other programming languages.

elcritch•1h ago
Which is a bummer, however the basics are always critical. Numerical stability and known correctness is still (or was) a reason a lot of old fortran libraries were used for so long.

I'm really surprised by the list of issues as some of those are pretty recent (2024) and pretty important parts of the ecosystem like ordereddict.

max_•1h ago
I hear similar bugs exist in python libraries.

Any recommended libraries (or languages) that have thoroughly verified libraries?

mmacvicarprett•1h ago
Do you mean any specific library?
max_•51m ago
Any really, library, language etc
TimorousBestie•54m ago
In my professional experience, the older numerics libraries tend to be more reliable, with the notable exception of Intel’s MKL.
mmacvicarprett•1h ago
How to quickly kill a language primarily meant for technical computing.
mgkuhn•1h ago
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 better experience than the author. My own Julia code generally does not feed the custom type of one package into the algorithms of another package.
jacobolus•40m ago
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.
hatmatrix•2m ago
> one author's algorithm can be composed with another author's custom data type

This is true, and it's a powerful part of the language - but you can implement it incorrectly when you compose elements together that expect some attributes from the custom data type. There is no way to formally enforce that, so you can end up with correctness bugs.

bobbylarrybobby•37m ago
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.

ForceBru•45m ago
Has anything changed since then? What are y'all's thoughts about correctness in Julia in 2025?
postflopclarity•34m ago
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"
hatmatrix•5m ago
The greater issue that there is still no way to prevent those types of composability bugs.
leephillips•27m ago
This is a reasonable article, but way out of date now. Almost all issues raised were solved a while ago.
hatmatrix•8m ago
I say this as a huge Julia fan, but the point is not the specific bugs in the article, but the culture of not prioritizing correctness in computation. The initial response by many (not all) in the community was look, those specific bugs are fixed; all languages have bugs; more importantly - look at the benchmark speeds of these computations! Which only reinforced this negative perception.

My understanding is that it's a difficult problem to solve, and there are people working on traits/interfaces - but these are still peripheral projects and not part of the core mission to my knowledge. In practice, composability problems arise seldomly, but there is no formal way to guard against it yet. I believe there was some work done at Northeastern U. [1] toward this goal but it's still up to the user to "be careful", essentially.

[1] https://repository.library.northeastern.edu/files/neu:4f20cn...

Grikbdl•7m ago
When I look, an issue such as "the base `sum!` is wrong" is still an open issue. Which, I think, is a bit ridiculous.

Ask HN: What question do you have in mind, if I can answer using Astro Science

1•bestkundli•41s ago•0 comments

Boeing Has Started Working on a 737 MAX Replacement

https://www.wsj.com/business/airlines/boeing-has-started-working-on-a-737-max-replacement-40a110df
1•bookofjoe•1m ago•1 comments

Trump to announce 'TrumpRx' site for discounted drugs and deal with Pfizer

https://www.cnn.com/2025/09/30/politics/pfizer-drug-prices-trump
1•ourmandave•1m ago•0 comments

Never Bet Against America

https://unchartedterritories.tomaspueyo.com/p/never-bet-against-america
1•galenmarchetti•2m ago•0 comments

Falsehoods Programmers Believe About Names

https://www.kalzumeus.com/2010/06/17/falsehoods-programmers-believe-about-names/
1•adolph•2m ago•1 comments

Pencil – Design Mode for Cursor

https://pencil.dev
1•theneki•2m ago•0 comments

Large Language Muddle

https://www.nplusonemag.com/issue-51/the-intellectual-situation/large-language-muddle/
1•smartmic•3m ago•0 comments

Show HN: Klana – AI Copilot Inside Figma

https://www.figma.com/community/plugin/1545618089212283719/klana
1•joezee•4m ago•0 comments

Arattai

https://en.wikipedia.org/wiki/Arattai
1•senthil_rajasek•5m ago•0 comments

The Stakes, and Real Story, of Peter Thiel's Antichrist Obsession

https://www.wired.com/story/the-real-stakes-real-story-peter-thiels-antichrist-obsession/
2•rishabhd•5m ago•0 comments

How Deno protects against NPM exploits

https://deno.com/blog/deno-protects-npm-exploits
1•emschwartz•7m ago•0 comments

I made an open-source version of Imagine by Claude

https://github.com/joshbickett/generative-computer
1•bickett•8m ago•1 comments

Answerman – Is Superhero Burnout at the Box Office Affecting Anime Films?

https://www.animenewsnetwork.com/answerman/2025-09-08/.228474
1•PaulHoule•8m ago•0 comments

We Promise These Lines Mean Something: New Audio Testing Method

https://www.lttlabs.com/blog/2025/07/14/we-promise-these-lines-mean-something-new-audio-testing-m...
1•lwhsiao•8m ago•0 comments

Hack a Day "YouTube over Dial Up"

https://hackaday.com/2025/09/29/youtube-over-dial-up/
2•oldnetguy•9m ago•0 comments

There's a Motorcycle Racing iOS Game You Control with AirPods

https://www.macrumors.com/2025/09/29/ios-airpods-racing-game/
1•reaperducer•9m ago•0 comments

Daniel Stenberg – Accidental world domination for fun [video]

https://www.youtube.com/watch?v=hbfeQqmxFKU
1•weinzierl•10m ago•0 comments

U.S. Department of Housing and Urban Development

https://www.hud.gov/
2•thehoff•13m ago•1 comments

Spraying Roundup on Crops Is Fine

https://www.nytimes.com/2025/09/28/opinion/pesticides-health-food-glyphosate.html
1•antonletov•13m ago•0 comments

BTPR – unfiltered updates on big tech

https://www.powerrankings.tech/
1•meshugaas•18m ago•0 comments

With a final screech, AOL's dial-up service goes silent

https://www.nbcnews.com/tech/tech-news/aol-dial-up-silenced-rcna234655
1•Teever•18m ago•0 comments

The New Sora

https://openai.com/live/
1•fariszr•25m ago•0 comments

How I'm Using the Internet

https://jrdsgl.com/how-im-using-the-internet/
1•hnaccount93•25m ago•0 comments

Ask HN: Do You Struggle with ArXiv Categories Too?

2•WASDAai•26m ago•1 comments

Show HN: Blogteca – A free interactive directory for discovering blogs

https://www.blogteca.com/
1•rawraul•26m ago•0 comments

Words Are Not Violence

https://world.hey.com/dhh/words-are-not-violence-c751f14f
5•curtisblaine•28m ago•6 comments

Sora 2

https://openai.com/index/sora-2/
68•meetpateltech•28m ago•44 comments

Alpha in the Age of Agreement

https://medium.com/@gdibner/alpha-in-the-age-of-agreement-5b732ea3b295
1•tomaskafka•29m ago•0 comments

The eBPF Verifier – How Linux Safely Runs User Code in Kernel Space

https://qpoint.io/blog/ebpf-safety-in-production/
8•jonfriesen•29m ago•0 comments

Would You Work '996'? The Hustle Culture Trend Is Taking Hold in Silicon Valley

https://www.nytimes.com/2025/09/28/business/996-hustle-culture-tech.html
3•quux•33m ago•4 comments