I said I wasn't going to wade into this, but there's too much ignorance, hypocrisy and just shortsighted nonsense to not address (I want to be clear: I'm not calling anyone ignorant, a hypocrite, etc., I'm saying I think the opinions can be ill-conceived and poorly addressed, not dis-similar to an AI led project). I will not directly quote most of this, because I'm not trying to pick a fight, I'm genuinely just trying to address what I see as nonsensical arguments.
For me,
"AI = bad".
You, in particular, have absolutely no leg to stand on in this argument; you've been called out on this before. You like to sit there and pretend you believe all AI use is bad, and then spend 20 minutes glazing a developer for what you view as a super cool project that no one else would touch etc. without acknowledging that it's AI led. i.e. you go out of your way to comment on nearly every switch port you come across. 90+% of the topics I've seen you comment on are AI assisted in some way. You claim to be some purist but you completely ignore it when it suits you, or, worse arguably, you can't tell the difference.
If it's the same technical debt bullshit that AI cleverly hidden away until too late later then yea it's shit.
Technical debt is not unique to AI. I understand where you're coming from, but having to deal with supposedly educated developers on a regular basis who don't even half-ass comment their code, I've seen the technical debt pile up for literally decades prior to the introduction of AI. The difference now is I can force the LLM to comment the code for me; literally any project can become more readable/more extensible simply by having it walk through the code, line by line, and explain what isn't obvious. Is it perfect? Hell no. Is it better than someone who refuses to comment at all? Arguably. Will it replace a knowledgeable SWE who actually does their job well? Of course not. And I think that's where a lot of this discourse breaks down (I'll address further as I go along): failure to see any kind of nuance to the argument at all. I'm not, by far, a "all AI is bad, mmkay?" person, but I also hate seeing it shoe-horned into every. single. release. imaginable. i.e. I don't need AI to parse my voice as I'm taking notes and decide arbitrarily which words I wasn't actually trying to use (I believe Google calls this "feature" Rambler?"). And I don't think anyone else should use this feature either. I don't know of ANY scenario in which a human shouldn't be editing their own words when trying to communicate with others (or themselves in the case of notes) to ensure clarity, completeness and the actual content. AI cannot replace critical thinking.
To be fair, I kinda fail to see why old video game recomps are such a big deal. Emulators already get you 99% there anyway.
They don't. Emulators don't introduce new features outside of QOL improvements like save states, fast forward & rewind, scaling and post-processing. Recomps can introduce these things as well as support for texture packs, widescreen hacks, multiplayer improvements/hacks, porting to a platform that doesn't have an emulator, optimization, etc. There are A LOT of improvements available to recomps that just don't exist in emulators (not because they can't; I'm sure most of these things could be accomplished, just haven't been seen as necessary except in targeted cases? I'm not sure of the reasoning behind not bringing some of these improvements to some emulator somewhere).
Now the funny part will be when high profile software will be recomp'd. That is where you will see a true impact on real life with thousands of jobs decimated because someone in their garage open sourced some closed softwares.
I would argue that if your work can reliably be replaced by a kid in his garage with a $20 claude subscription, it's almost a moral imperative that it should be. I'm not talking about art here; I'm saying logic and functionality should be improved where it can be. I'm a huge proponent of SWEs utilizing AI to optimize and improve; it's a case where it's a tool and implemented correctly can go further than a SWE or AI alone. I also believe that if you are replaced by slop, in the short term, yes it sucks. In the long term, you either get to invest your time and focus in something else that will benefit from your expertise or (as many companies have experienced with their mad dash to use AI and layoff actual developers) it gives you leverage to return when your employer learns the hard way that AI is not autonomous, it is still a tool, and the vibe coding script kiddie they hired to replace you isn't adept enough to improve the results (it's more than just prompting claude "fix this and make it better, no mistakes") or fix the bugs. In my experience, AI is actually pretty good at fixing bugs, but you have to care at least a little bit, and most of these vibe coders don't. I have witnessed first hand developers being able to leverage their unceremonious dismissal to return making 50-70% more than when they left because they have to spend their first 3 weeks back in the role toiling over slop to align with the rest of the project and actually work. I work in IT, and this whole situation reeks of the issues I've dealt with in the past where my team was replaced by an offshore contractor, only to be called up 2 weeks later and have to listen, through their tears, as my former employer begs me to come back and fix their arrogant mistakes. "Please, everything is down and we just need it to be functional and none of these new people is familiar enough with the stack to make it work. We'll pay double!" No, you're going to be paying 10x because now you have to hire and train actual skilled labor to replace all of us, as we've all accepted new positions and will not bail on a new relationship that was established in good faith.
<a bunch of comments about how vibe coders don't understand coding fundamentals and the slop they churn out is trash>
I don't have a lot of experience in this area (the only language I work with daily and am competent with is Powershell), but it has been my limited experience and continues to be my conjecture that slop will always lose out to something done well. i.e. if I have a choice between a slopped project and an engineered project that accomplish the same things, I'll go with the engineered project by default in 99% of cases. Even if they don't have feature parity, the engineered project is almost always implemented better, better optimized and is easier to build upon. That being said, if the slop is the only avenue to achieve the desired result, yes, it will be utilized. As for the whole "I'm not against it if someone knows what they're doing", it's thinly veiled gate-keeping. I understand the argument intellectually (and to be fair it is often true in practice for people who just don't give a shit) but the problem is that the AI tools can do anything you think only a skilled coder can do if properly prompted and more than 30 seconds is spent on the task. "If they encounter an issue, and they don't understand the fundamentals, they won't be able to fix it." This is patently untrue. AI is adept at not only explaining complicated concepts but fixing issues on the fly. It still has to be identified as an issue, and you may have to iterate several times to get it right, but both of those things are true of human led projects as well. Honestly, every argument made in this vein is exactly as pertinent as making it against someone else who (also) knows absolutely nothing about code but hires someone to develop something for them: no, they can't fix the issues, and no, they can't explain how it works. And no, they don't have a clue as to how to continue. They have to call the person they paid to develop it and continue to pay to continue to improve or add functionality. The exact same thing can be said about AI coding; I just have to take my issue back to the prompt and it will often identify and fix it. What's the major difference? The size of the transaction. It may cost thousands, hundreds of thousands, or millions of dollars properly engineer a software project using human labor whereas the same thing can be accomplished with a few hundreds to thousands of dollars of AI tokens. Again, we can agree that an unskilled practitioner may not be able to identify the actual issues in order to address them, but properly motivated and "skilled" (heavy sarcasm here) slop kiddies can improve their projects. In practice, they often don't, but the pretense that they can't is misinformed. It's a skill issue, not a tool issue. Get good.
As an end user, if someone spent 10 months slaving away at the code on their own OR vibe coded it in a week, I'll never know.
This is pretty common. 80+% of people can't identify a difference between a slop project and a properly engineered one without digging into the code, and most people aren't really qualified to do that (not trying to gate-keep here; I'm merely pointing out that, for instance, I cannot tell the difference between slop and human code on a python project because I'm not familiar enough with python to know what's redundant, what's poorly thought out, etc.). That same argument is valid for the above conversation about whether or not slop projects can reasonably achieve parity with human coded ones as well though, and it once again comes down to motivation and "give a shit".
I know there's folk out there that consider any AI involvement a black mark against any project and won't entertain it. I'd be surprised if those folk also applied the same logic to say, cutting grass. "i can't step on your lawn cos you haven't cut each blade of grass by hand and have instead used a lawnmower to help you". AI is just a tool, like the lawnmower.
The same thing can be said about commercial products: once the code is compiled, you can't reasonably just look at it and determine if it was slopped, AI assisted, or just good ol' fashioned human intellect. Unless something is glaringly bad or generic, it can be difficult to tell. The proof of that is just how many commercial products already exist that have been AI assisted in some form or fashion. It's similar to the old "tabs vs spaces" argument: there are solid arguments for both sides, but once it's compiled, it's the same code.
<argument against badly made slop when it's very clear it's slop and is poorly made/implemented>
I think the biggest thing to address here is the same as with a very poorly created human coded project: if it's shit, no one will want to use it or it will motivate people to improve it. If you identify something as shit and continue to use it, you've decided that it ultimately doesn't matter. If you seek to improve it, you're fixing the problem (and honestly should be praised for it, regardless of the code's provenance). If you choose not to use it, complain about it, and rock back on your heels, patting yourself on the back for "fighting the good fight against the slop overlords" without contributing anything other than your opinion to the conversation, you are contributing EXACTLY as much to the entire situation as anyone who simply STFU. You haven't made anything better, you aren't using the product and you haven't contributed meaningfully to the conversation surrounding it. You're noise. You are the slop of human beings.
how long before decompiling software and distributing this software becomes illegal?
It would be pretty ironic if the biggest acquirers of illegally obtained labor in the modern world suddenly started working avidly against piracy/redistributing someone else's work, eh?
If your de/recomp/game mix is entirely vibecoded (entirely LLM-made), and you have no ounce of knowledge on programming, then that's where I draw the line within these projects. I want to see on a GitHub page that there's been a bunch of contributors to a project, not a user or two, and claude.
More of that gate-keeping shit. What does it matter how many people contributed to it? Does that inherently change the value or quality of the project? If Stardew Valley had been built by ConcernedApe AND Claude, would that make it any less fun to play? Personally, I'm all about the end result, and the value provided. Of course, this is just my opinion and you are free to attack it; it IS subjective, I won't pretend otherwise.
If any The Legend of Dark Witch/Brave Dungeon game where to get de/recompiled with ai then hell yeah cause I hate the creator of the game and there needs to be someone out there that can his his damn games.
You just said...nvm. You know you're a hypocrite, I'm not going to waste the time.
While I reached the stage where I don't give a shit whether something is AI-coded or not at this point, I'll always stick to my belief...people need to test whatever the fuck Claude/Astra/etc churn out, they gotta do at least this.
NO argument, whatsoever here. Everything is
cum gratis salis in the homebrew world, and you're assuming a certain amount of risk regardless. But to blindly pump out crap from any source is a detriment to the entire scene. However, it does boil down to what I said above about people not being qualified to look at the source and tell if it's quality or shit.
A few projects, like the Minish Cap port to PS1 was tested by someone else and they found out it doesn't even run on real hardware.
Off topic, but that's bananas. How lazy can you possibly be?
And in the case of something made for the Wii or 3DS, I don't want my console to fail on me/brick because a moron relied on AI to slop their way through a project, without checking if it actually works or not. I'll die on this hill, I don't care whether everyone else agrees with me or not.
You JUST made the argument that all code needs to be tested; that responsibility is as much on you as it is on the developer.
BTW, anyone who is taking a very firm stance against AI code should probably keep in mind nothing they use at this point has not been touched by an AI assistant agent, and yes, including the Linux kernel, and yes, including commits from Linus.
Listening to Linus' point of view and his breakdown of the situation actually helped me a lot on this subject. I was very much an "AI = BAD" person at one point, and listening to someone I respect wax intellectually on the subject was something I wasn't really prepared for. Do I agree with him 100%? No, but he makes valid arguments and doesn't glaze either side of it. Helped me to realize some of the opinions I had on the subject were at least partially misguided.
If you are a SWE/similar role, and you don't use it in your job I think you are either lying to some degree, or if you truly don't, you are very much in the minority there.
I am far from a developer and I use it every day to debug or improve my code. And I often times have to tell it that it's wrong or just plain ignore it. But it often times comes in clutch as well, pointing out something that would've surely caused some edge case failures. The tool is only as powerful as the dipstick behind it, so I'm by far not the best person to talk about it (I'm far from an expert).
tl;dr: as with anything else, there is nuance in this argument. If you're an absolutist, you're objectively wrong, either way. If you take emotion out of it, I believe anyone can see the pros and cons to each side, even if their preference is in the opposite direction. I'm not asking anyone to change their opinion on the subject; that would be silly. Just asking for some critical thinking. "It can't be done!" is not the same as "It isn't being done!" A lot of things that are pitched as impossible are simply unlikely at the moment, and we should be intellectually honest about that.