

Nobody died.
The equivalent would be putting free apples with a sticker on them saying “please squeeze the juice out of these apples all over your shirt”.


Nobody died.
The equivalent would be putting free apples with a sticker on them saying “please squeeze the juice out of these apples all over your shirt”.


The article frames the maintainer as some kind of morally dubious person, as though they owe their code to the world. Did any of them pay to use the library? No? Cool, stfu and pin an older version of it.
Also, maybe next time you can do yourself and the rest of the world a favor by actually reviewing what your LLM will do before it does it. Or, I don’t know, just write the tests yourself I guess.
Also, if your management is breathing down your neck and forcing you to use AI, tell your management to go fuck themselves (maybe in nicer words if you want to keep your job, but hey, you can definitely burn their spare cash while meeting their idiotic quotas if you really need to know what time it is every second or two in the most inefficient and ecologically destructive way currently known to mankind).


They are also written in C++. In fact, even the most used Python ones are written in C++ and C.


How does this library handle control flow? For example, how can I fetch results from the DB, then for each result, execute one of several different pipelines depending on properties of that entity?
And you may have introduced some dangerous hidden bug that way, which you may not have doing it manually.
You act like I can’t read some import statements and see if they match the import statements on the other side of the diff lol.
There was no bug introduced. All the dependencies were required. If any of the imports did error, then that’s a bug with that package that got surfaced instead.
FYI in many countries the term “engineer” is protected. Software devs would not be allowed to call themselves engineers without some kind of certification.
All that aside, I think you’ll find that a majority of people on this instance write code regularly, whether as a hobby or day job. Also, at my software dev day job, we actually regularly discuss the academic research around LLMs primarily because it has a major impact on our work.
Personally speaking, what I’ve seen over the past few years is that it creates pretty demos really quickly that fall apart the minute you need to actually develop for real. The code becomes an unmaintainable amalgamation of random libraries used to do the same thing multiple ways, and my coworkers who rely on it heavily have learned basically nothing about the libraries or tools they use because they ask the LLM to do it all for them. This is also ignoring the complete lack of motivation I have now for PR reviews knowing that the same mistakes will be made again and again in the future because teaching a coworker a better way to do something does nothing to improve the output of a LLM, which cannot learn.
That’s not to say you can’t use it effectively. There just needs to be a balance between what you do as a developer vs what you have the LLM churn out quickly for you. It requires a lot of direction, enough so that I find it to be a waste of time as opposed to implementing things myself usually. Plus, I actually learn more doing it all myself, like upcoming library versions, changes in the tools and libraries I use since last using them, new language features, and so on.
While I’m not going to do a code review of your linked projects (nor do I believe that would be very useful), it sounds to me like you’ve found a way to make it work for you. That’s awesome. I, unfortunately, am regularly subjected to the slop emitted by it when in the hands of people who are actively destroying what experience they might have once had in favor of doing less work.
They are however widely known to be terrible at code
They are for large tasks. However, for simple pattern repetition tasks, they’re generally fine, code or not. I’ve had success, for example, having them remove pointless, confusing try…except blocks surrounding imports at work. I usually find that I just rewrite anything myself if it’s anything more complex than that because the code it produces makes no sense and taught me nothing.
I like to say the main problems with most projects were already the code quality and the bugs, and not that we somehow needed even more low quality lines of code.


Are you asking me to reject my professional daily reality?!
Nobody’s asking you to do anything. If it works for you, then that’s fine.
People are talking about the tech in general and their own experiences with it, alongside relevant research they have found. You are more than welcome to disagree with each other. Nobody is forced to change their opinions or how they work over a short internet conversation.
As an aside, LLMs, like everything else in life, require nuance to evaluate. They excel at specific tasks that are built for them, and are terrible at the wide array of tasks that are not built for them. It’s entirely possible that your work primarily lies in the former while others work in the latter space.
In this case, it’s a customer’s environment, so it’s actually not one of my direct coworkers that’s blocking this. Otherwise I’d agree.
This. I can’t get them to run lints or tests on their own, and I can’t get the person in charge of the repo to let us run the CI automatically on PR. Combine that with the rampant slop, and a good number of the PRs are just plain unreviewable.
Then you run into the other issue: the PRs get merged too fast to review them properly. How someone approves 50 changed files in a PR with +30000 and -150 lines changed in under an hour is beyond me, to be honest.


Is there a reason to believe this was written by AI?


This is a shockingly well-written article. Thanks for sharing!


This is how many spam filters have worked for a very long time. Using an LLM to help with classification could be a real option.
It wouldn’t help with determining which security reports are slop and which are real, though.


The memory leaks section just feels like an introduction to smart pointers as though they’re some complex concept. Also, the page is showing its age by mentioning the now-removed auto_ptr instead of something like unique_ptr.
Anyway, scrolling down a little more:
Why can’t I assign a vector<Apple*> to a vector<Fruit*>?
This actually comes up in C# with arrays. Copying their example here:
object[] array = new String[10];
// The following statement produces a run-time exception.
// array[0] = 10;
It may have been a design mistake not to make C#'s arrays invariant, though I don’t know the state of that debate today.


On which instance? Australia has that as a law, from my understanding, and given your instance’s ccTLD, I would assume the law applies to that instance.


When should a programmer use C over Python?
They both solve different kinds of problems. C# has a lot of overhead built into the language compared to C++, but it is also a lot easier to write. Unless you need C++ or prefer it due to experience/performance/etc, there’s no reason to choose it over C#, JS, Python, or any other language really.
So to answer your question, thet should use C++ if they need to or will work more effectively in C++, or if the contributors want to.


You’re right. The only reason someone would write something in Rust is to change the license. Nobody would use Rust for any other reason, nor would they use any other language for that purpose.


Windows XP is Rustless if you’re looking for that. Same with TempleOS.


That’s a question of API, not type system.
It’s only enforced because of Rust’s strict type system. Python, on the other hand, lets you do whatever you want by comparison, and complains only at runtime. I’ve seen far too many **kwargs for my liking.
And FD types (e.g.
OwnedFd,BorrowedFd) are already in std.
My example would be a thin wrapper around these, most likely. It’s only an example of what I’m trying to convey, though.
They’re firing humans. “Replacing” implies something else is doing their jobs.
Is this “force amplifier” in the room with us right now?
“Year of the Linux desktop” is a meme. Nobody cares if someone uses Linux, Mac, or Windows. All anyone wants is decent support for software on Linux as well. That being the case, it takes a special kind of masochism to use Windows these days.