40 comments

[ 2.8 ms ] story [ 66.5 ms ] thread
If man-made software was high quality, this problem would resolve itself , because “slopware” would be easily distinguishable.

The best way to resolve this is to write man-made software that’s good quality.

It’s just a tool

My reflex is to call the website useless because the problem isn't usually software produced by individuals. My problem is the buggy messes that trillion dollar corporations produce.
My “slopware” has brought in $200K a month.

As long as it works and people’s problems are solved, I don’t see any issue with it?

> if you’re doing this for your own learning: you will learn better without AI.

I'm certain that's not true. AI is the single biggest gift we could possible give to people who are learning to program - it's shaved that learning curve down to a point where you don't need to carve out six months of your life just to get to a point where you can build something small and useful that works.

AI only hurts learning if you let it. You can still use AI and learn effectively if you are thoughtful about the way you apply it.

100% rejecting AI as a learner programmer may feel like the right thing to do, but at this point it's similar to saying "I'm going to learn to program without ever Googling for anything at all".

(I do not yet know how to teach people to learn effectively with AI though. I think that's a very important missing piece of this whole puzzle.)

I'm a BIG fan of these three points though:

  rewrite the parts you understand
  learn the parts you don’t
  make it so you can reason about every detail
If you are learning to program you should have a very low tolerance for pieces that you don't understand, especially since we now have a free 24/7 weird robot TA that we can ask questions of.
Why would any actual software engineer be against slopware?

When it inevitably all comes crashing down because there was no actual software architecture or understanding of the code, someone will have to come in to make the actual product.

Hopefully by then we will have realistic expectations for the LLM, have skilled up, and we as a community treat them as just another feature in the IDE.

Because open source "devs" can't make an actual product. LLMs are there direct competition, both competing for user attention.

The idea that code gluers understand the code better than a chatbot (that admittedly totally lacks the ability to understand) isn't clear.

Just like an LLM they can only create very ill-thought-out ripoffs of software from the 70s and 80s (they have yet to reach the level of ripping off 90s Microsoft.)

> if you’re doing this for your own learning: you will learn better without AI.

This is not the distinction I would want to tell newcomers. AI is extremely good for finding out what the most common practices are for all kinds of situations. That's a powerful learning tool. Besides, learning how to use a tool well (one that we can expect professionals to use) is part of learning.

Now most common practices and best practices are two different things. They are often the same, but not always. That's the major caveat for many fields, but if you can keep it in mind, you're going to do OK.

It’s all in how you use it. If you want to learn you can just tell it to walk you through the code or write a tutorial with examples and exercises or give you programming problems to solve or use the socratic method or recommend the best human written tutorials and books or review your code and suggest more idiomatic techniques or help you convert a program from one language or paradigm to another and a million other ways.

I like the AI written tutorial method, both Opus 4.5 and Gemini 3 are good at this. You just have to put the effort in to copytype, make changes, ask questions and put what you’ve learnt into practice. AI code review is also great for discovering alternatives you don’t know about.

As a practitioner I also inherently believe in well written software but as a lifelong learner, things change, and evolve. There is absolutely no reason why software today has to be written like software of yesterday.

There is no need to be so prescriptive about how software is made. In the end the best will win on the merits. The bad software will die under its own weight with no think pieces necessary.

On the other hand, code might be becoming more like clay than like LEGO bricks. The sculptor is not minding each granule.

We don't know yet if there's long term merit in this new way of crafting software and telling people not to try it both won't work, and honestly looks like old people yelling at clouds.

You can't be serious.

> When you publish something under the banner of open–source, you implicitly enter a stewardship role. You’re not just shipping files, you’re making a contribution to a shared commons. That carries certain responsibilities: clarity about purpose, honesty about limitations, and a basic alignment with the community’s collaborative ethos.

(from the second link)

You're not just writing angry screeds, you are producing slop prose and asking us to spend our time reading it.

How is this not an implicit repudiation of your entire argument? Are you not hurting yourself by avoiding learning how to write better?

I find these really are not only condescending but also really miss the mark and ironically come off as really uneducated in my opinion, and that really is the most infuriating type of condescension. What you call slopware today is becoming less and less sloppy every six months as new coding models drop. In 2 years the “unmaintainable mess” is going to be far better and far more maintainable than anything the engineers behind these snide websites will make. Do folks realize you can also use the same coding models to ask questions and reason about the “slop” that these code models are writing that somehow is able to do something I would never have been able to do before? I don’t really care if it’s 100% accurate, hit it with a hammer until everything makes sense. Yell at Claude and learn how to wrangle it to get what you want, that skill is an investment that’s going to pay you back far more than following the advice of these folks, that’s my opinion.

Like “you will learn better without AI” is just a bad short sighted opinion dressed up in condescension to appear wise and authoritative.

Learn your tools, learn the limitations, understand where this is going, do the things you want to do and then realize “hey my opinions don’t have to be condescendingly preached to other people as though they are facts”

(comment deleted)
It bothers me that so many programmers I know, here and in real life, seem to never actually have cared about the craft of software development? Just about solving problems.

I like problem solving too. But I also like theory and craft, and in my naïveté I assumed most of us were like me. LLMs divorced craft-programming from tool-programming and now it seems like there were never any craft-programmers at all.

It feels like the group I was part of was just a mirage, a historical accident. Maybe craft-painters felt the same way about the camera.

The customers these days are willing to pay for programs full of bugs that require enormous amounts of resources, so the craft no longer generates profits.
I need to say as someone who also really really cares about the craft. About doing things right. LLMs have been a massive boon to me, because they're the only entity in this world that seems willing to work with me to get things right.

If something is working but it is ugly, sketchy, or I feel there may be a more apt abstraction or generalization of the problem, every other human being on the planet has persistently turned that situation into an exhausting argument. If the code works, it works, right? And all this shit I talk about is pointless because it works. And I have to fruitlessly construct an argument that would appeal to someone who cares nothing other than a complete ticket.

LLMs are at least not needlessly combative and incurious as to think that every approach but the first one we try is a pointless waste of time.

I've had a two hour long discussion with a super llm about a somewhat complex event loop processing task. It could not manage. I even restarted the session a couple of times. Then I did it manually and showed it a working version using a simple state machine. "That's brilliant!" (no, it wasn't brilliant)

I am really worried for the next generation of programmers fully dependent on llms.

This is a classical, charming take on software developers, but we don't judge most professions that way.

“It bothers me that so many cashiers don't care about the craft of service and payment point connection.”

“It bothers me that so many butchers don't care about the craft of choosing meat cuts and selling meat tailored to the customer.”

We expect of developers craft, passion, after-work commitment, life-long learning, and so on, and so on. Many other professions are free of or lighter on such expectations.

I agree that it's alienating to see sloppy, automated code crop up simply because people want to get paid. Code used to be this cool domain… But I'm not shocked, since our society evolved towards commoditising absolutely everything.

Even thoughtful messages to loved ones are now available through LLM-hallucinated apps. We're done here, pack up your expectation of humanity staying, ahm, human? Disheartening.

> It bothers me that so many programmers I know, here and in real life, seem to never actually have cared about the craft of software development? Just about solving problems.

Why?

Intellectual curiosity is a good thing. When I first went to university, I thought I was going to be a physicist. It turns out my brain was really well wired for programming, being logical, rigorous, particular about detail, I like predictability, not a high risk taker without fully understanding and accepting the risks, etc.

But when I first started off as a programmer, I wrote physics simulations for fun (not work). I'd write little games, I wrote neural nets and fuzzy logic (gives me a chuckle), back in the 90s when the field was new. All of this was "my thing", and I barely cared about the code I wrote to achieve this. I absolutely loved it, because coding was a tool to explore my intellectual curiousity.

I could say the exact opposite, that I feel a bit sad that people care more about the characters they type on a screen than the concepts they explore.

As I morphed into a professional software engineer, I grew to understand the importance of high quality code and engineering (I mean architecture decisions). I have had a long, successful career by refining my craft. I care about the quality I produce for my future self and others, and the success of the product as a result of this quality.

But at the heart, I am still just an intellectually curious person, and one day I may stop working professionally and at that point, I think I'll love using AI to write code and help me explore concepts. I very much look forward to it in fact.

> keep the commons clean [from the second link]

A glance at the r/python will show that almost every week there is a new pypi package generated by ai, with dubious utility.

I did a quick research using bigquery-public-data.pypi.distribution_metadata and out of 844719 package, 126527 have only 1 release, almost 15%.

While is not unfathomable that a chunk of those really only needed one release and/or were manually written, the number is too high. And pypi is struggling for resources.

I wonder how much crap there is on github and I think this is an even larger issue, with the new versions of LLMs being trained on crap generated by older versions.

If you are an experience software developer, AI lets you fly and build things much faster.

If you are a new software developer, I don't see how you grow to develop taste and experience when everything is a <ENTER> away.

I think we are the last generation of engineers who give a fuck tbh.

I suspect the effect of AI will be a sort of eternal September, but for software. It's a phase change in how a lot of software will be written and used. There are a lot of applications right now for software where crappy software that mostly gets the job done in a specific way is Good Enough. There's going to be a lot of software written by LLMs that maybe barely compiles and doesn't handle edge cases and has weird behavior but gets a small, specific job done. This is a good thing, since maybe the previous alternative was doing something manually, or not at all.

There will still be major, fundamental, foundational software work for serious engineers to do, but we have to admit that most software needed in the world is not that.

The tools I AI slop/vibe code are more like when I'd use spreadsheets for everything rather than real software.

I'm not against taking the time to read the docs, learn to craft code, and ship beautiful projects, but I could have done that before and didn't then either.

The difference is that now I have a hundred small, internal tools that save my team time and energy.

I'm not sure if I am just losing my mind at this point, but all this slop everywhere is starting to be funny.

I honest to god am in teams chats at work with high up the food chain architects and leaders (and plain old devs) and people are pasting chatgpt responses either as evidence backing up their claims of how something should be done, or as an actual response to another person as if they typed it themselves.

I have people sending me documents they "put together" that are clearly chatgpt generated, tables and emojis included.

Is this progress?

Same here. I'm torn between "feels bad being the only sane person in an otherwise insane environment" and "I have enough self-awareness to realize I cannot be the only sane person here".
"Stop making software that is buried under heaps of noise" says the 1-page HTML document that somehow has 5 build dependencies listed on it's Git repository. I don't think I've ever seen anything so tone deaf in my life.

https://codeberg.org/ficd/stopslopware.net

If i had to give advice to young programmers, it would be this: be comfortable with set theory and notation. It’s interesting that once you collect use cases, sketch the objects, and express everything in a set-theoretical fashion, the programs almost write themselves. You can even feed this set-theoretic notation directly to an LLM and get code in return. It’s a perfectly honest way to incorporate LLMs into your workflow.
(comment deleted)
I've been using Gemini / Antigravity to make a virtual pet for my kids using Love2D / lua. I never coded in my life and have no intention of learning (but I've been learning a lot about game systems and logic, which has been fun). The game is coming along very well and it looks very pretty (I'm a professional illustrator) and if I decide to publish it, no one will care the code is made in AI. It's very high effort, to be honest. You'd had to look into the code to know AI made it.

I now get why so many people are making AI art. I see their "work" as an illustrator and it is absolute slop, but I can see now how it might be fun and even liberating for people who don't make a living with it. So I now think twice before calling AI art "slop". Sure, it may be slop, but it's making a lot of people happy and probably opening up new carreer paths for people.

And yes, I've been affected financially because of this... but I get it.

(comment deleted)