this is an interesting list of examples, thanks. the quantile! and foldr bugs should definitely be fixed! and as a side note, I think Statistics.jl could use more maintainers so fixing quantile! might be an easy first contribution; it looks like a kwarg forwarding typo.
I’ll just note that the invmod bug was already fixed in 1.13+, and some of these don’t really look like bugs in the first place (e.g. the pinv one, or the Diagonal(d) one is not a bug — that is user error).
both the findmin examples are symptoms of known warts in the reducedim machinery, and have a fix in WIP: The great pairwise reduction refactor · Pull Request #58418 · JuliaLang/julia unfortunate, yes, but the solution is quite hard. hopefully there will be more progress on this in proximal releases.
I think
What it reports if you ask the same for, say, numpy?
is really the key question here. although of course maybe numpy won’t yield a list as fun for two reasons:
- it is a much more battle hardened library with an order of magnitude more users than Julia over a much longer period of time
- it covers a smaller API surface than “Julia + all of its stdlibs”. so the equivalent comparison would be to ask for bugs across any python stdlib.
so results like this, I think, are more evidence that “bugs exist in Julia” (of course they do) and not evidence of “bugs in Base are a practical concern,” the question posed by the OP. I have myself found bugs in Julia, and I have devoted many hours of volunteer time fixing bugs in Julia. but I have also myself found bugs in the Python ecosystem, including “correctness” bugs in Polars, SciPy, cvxpy, networkx, some of which cost me full days of debugging. we can see, just browsing the issue trackers, xarray has its own quantile woes, or a simple call to scipy.stats.linregress([0, 1], [0, 1]) was returning incorrect fit results.
I do not mean to pick on those packages, I appreciate them and use them frequently. it is just to re-re-re-emphasize the point that has been made several times upthread that really nothing is completely safe from correctness bugs and all users of all software should carefully validate their results.
For OP’s question “should I use Julia” I say if you think it will be a good fit, please do! The language gets better for each person using it, exploring different corners, writing new packages, and yes finding issues to report about bugs or performance bottlenecks.
P.S. speaking only for myself I think critical views should be welcomed. the fact that @yurivish sticks around for so long is testament that they care about the development of the language & community at least a little bit
. I see no reason to believe this list was provided in bad faith (even though it does come with more implied pessimism than I personally share), and it was actually quite useful! I had no idea about the foldr bug and now I’m going to go have my AI fix it.