JuliaLang/julia is AI slop now and I am heartbroken

The commit history of JuliaLang/julia is absolutely heartbreaking to read through. I don’t think it’s worth anyone’s time for me to explain why. If you think that thousands of lines of vibe code per week is sustainable, you do you.

I’ve only contributed tiny bits here and there to the Julia ecosystem, but it’s been my favorite language for many years, and most of my scientific work til now has been done with it. Thus I write this not to change anyone’s mind but because using this language was so dear to me that I can’t bring myself to stop without at least saying goodbye.

Perhaps others will feel the same as I do. Maybe we can get together and work something out.

Until then, farewell.

I am not yet convinced that Julia is AI slop. Is there some evidence that the language is less performant, more difficult to maintain, or has increased bugs? That being said, I think the general concern is valid. Perhaps it would be useful to have a commit policy (if one does not already exist) that specifies in what ways AI can assist in the commit process and specifies procedures for validation and human oversight.

1 Like

I get the strong reaction to the “vibe coded” commits.
But I do want to give some context from my work with AI.

I see it a bit like a slot machine - you try many times, and 80% is horrible AI slob, but then there’s this really great thing it suddenly produces.
Which explains, why there can be smart people who use AI as a normal part of their tool chain already, and other smart people, who see the slob and think its insane to use it for any serious development work.
This can only lead to a bit of a fight between those two groups, since for one of them it’s a marker of “quality going down” while for the others it’s a normal day of programming with the new flashy AI tool.

That said, I’m pretty critical of AI myself, but I do use it a lot at this point.

I have two modes, one is the slot machine mode, where I put it on hard problems no one wants to work on and which nobody wants to pay for.
If it solves the issue, it’s great! Something important which the whole community had no resources to develop suddenly exists and does real work. If it doesn’t, nobody gets hurt :person_shrugging:
GitHub - SimonDanisch/Lava.jl: THE Julia -> SPIRV compiler, which allows to replace all Vulkan shaders with julia functions · GitHub is such an example. It’s 90% vibe coded, and likely a real mess, but it solves a very concrete gap in the current ecosystem, and I’ve been trying to work on this for ages, but it has been just too big and “expensive”. Now it’s there and I can prototype with it and try things out, which is infinity times better than not having it at all. So in other words, horrible vibe coded AI slob doing really cool things!

The other mode I use AI for is debugging and writing small fixes or refactors, where I look and check every line intensely and also make sure there are tests for it etc.
The chance that slob comes out of that mode is pretty close to 0.
My trust in the Julia developers and quickly looking at the claude code commits does make me think, that those commits fall into the latter category and are totally fine!

Even more so, I do hope this gets more!
Julia is seriously underfunded with lots of concrete problems that need a ton of time and polish which literally nobody pays for or does in their free time.

Using AI to fill those gaps whenever possible, will likely shift that quite a bit, and I have big hopes that some of the worst areas in the Julia ecosystem will have a chance to finally get the polish they deserve (developer tools, debugger, performance issues, TTFX, deployment etc).
So, sane use of AI in my mind will be the only way, to finally get the polish and improvements, that have been long wished for by the community - unless of course some huge company suddenly decides to put many millions into those large funding gaps. I don’t see that in the near future, so I’m happy that we get fixes and improvements from smart use of AI :slight_smile:

6 Likes

I am strongly against this kind of police work. Who’s going to police that? How can you prove you adhere to the policy? What if someone starts accusing you? Note that just having claude being a co-committer is not enough, in fact it can be wrong both ways. I can write code myself, and tell claude to produce a set of commits. But also the other way around, I can let claude write code and commit the changes myself.

Totally agree. There are gaps and low hanging fruit everywhere you look. Even many of the commits that OP accuses of slop (without evidence) are done by volunteers who spend their time on the project.

2 Likes

And that company would still use AI. Unless we migrated to another planet.

One thing to note is that Claude appearing or not as a contributor depends exclusively on how the commit was uploaded. I’m pretty sure it os being used much more than what commit histories indicate, here and everywhere else.

1 Like