If the complaint is vibe coding makes bad software, I largely believe it, but I absolutely believe that vibe arguing makes tissue paper arguments. “Everyone knows” and “it’s obvious” are flimsy things to rest arguments on.
I’m writing dramatically better software for all the reasons this post says obviously make worse software.
Testing has gotten much easier, and bug fixing has gotten much easier. I looked at a pre-AI project I did a couple of years ago: test to code LOC was 0.15:1. The projects I work on now are around 1.3:1. The old project had no accessibility considered at all, the new ones are nicely done aria and beyond. Old project is stuck on old libraries because upgrading is a major pain. New projects take new libraries (after cooldown) no matter the effort.
So I’m left thinking that perhaps some people, too lazy to use the new powers of new tools, churn out the same or worse quality code/essays.
But I am seeing a lot of very high quality software that simply wouldn’t have been possible before, and I believe the same could be done with essays by leveraging these tools to research and find real data beyond “it’s obvious”. But that does take a lot more work.
[–] renegade-otter 2 days ago
[–] snarfy 2 days ago
With most software being free, cost is optimized for the developers not users and we end up with Electron apps
[–] gf000 2 days ago
I'm semi-sarcastic here, but this is actually possible now, while it was an often futile and very expensive roundtrip before AI resulting in two versions of your software that you have to simultaneously maintain.
[–] DaiPlusPlus 2 days ago
Things get lost-in-translation, and Claude doesn't seek your input for decisions that matter.
[–] renegade-otter 2 days ago
[–] malfist 2 days ago
Lines of code is a poor metric for measuring, both for application code and testing code
[–] bluGill 2 days ago
[–] OGWhales 2 days ago
[–] bluGill 2 days ago
[–] johnnyanmac 2 days ago
[–] gf000 2 days ago
[–] malfist 2 days ago
[–] gf000 2 days ago
They should write a test and stash the fix they just wrote. In this state it should fail. Once they re-apply the patch, it should become green and this gave use enough information to deduce that the test does test something.
[–] topaz0 2 days ago
[–] bluGill 2 days ago
[–] brookst 1 day ago
Somehow LOC morphed from one metric among many to "you should never even think about LOC, 15 lines and 15k lines are exactly the same thing". It's weird.
[–] bemtevi 2 days ago
Personally, I haven't seen too much of that. What I've seen is software that _looks_ pretty, has a shiny interface, a well-designed animated website made with god knows what, but under the hood it's a bit of an alpha mess....
[–] _bent 3 days ago
Goodhart's law etc.
[–] nh23423fefe 2 days ago
[–] tripleee 2 days ago
[–] nh23423fefe 2 days ago
[–] AlienRobot 2 days ago
Depending on machine-generated tests that nobody reads isn't better than having poorer coverage. The only thing that is guaranteed is that that mass of code returns "true" with the current implementation and "false" if the implementation changes in some ways. Unless people actually read the LLM-generated code, it's impossible to know if it tests anything that actually matters or just tests the same code path that would never be actually used in production in 5 different ways.
[–] otabdeveloper4 2 days ago
[–] bcvvvy 3 days ago
About 50% of the test cases I've ever seen are pointless.
[–] teeray 2 days ago
[–] galaxyLogic 2 days ago
Tests fix how the software can be changed and when software-spec evolves lots of tests can become obsolete. Maybe with AI it is easier to change the tests (?) which is good.
But there is another purpose for tests, besides "testing". It is to document your modules in a way that shows you how to use them, and let's you easily verify is this still working, can I trust it.
[–] mysterydip 2 days ago
[–] thargor90 2 days ago
In your case of course any existing utilities behavior/specs should be tested first, regression tests just on top, if they are not already covered.
[–] LtWorf 2 days ago
Yes it was vibe coded. The "a" variable was never used, and was tested to be 1 several times.
It was several hundreds lines of course so I didn't bother reviewing the rest.
[–] bluGill 2 days ago
A test is mostly useful only in the case that by failing it alerts you to a bug.
[–] eviks 2 days ago
[–] rkozik1989 3 days ago
[–] fsflover 3 days ago
It does not affect Debian, Fedora, or Qubes OS.
[–] WarmWash 2 days ago
From the consumer POV you can make a great app that does the thing great, and then that's it. Pay once upfront. Just security updates and maybe light compatibility updates after.
Instead we get constant toying and adjusting, and even worse, get pigeon holed into a monthly subscription to bankroll the $200k salaries needed to pay the team that hides the menu button every 6 month to boost screen time.
[–] adjejmxbdjdn 2 days ago
[–] fsflover 2 days ago
[–] pfannkuchen 1 day ago
[–] bigfishrunning 2 days ago
[–] zer00eyz 3 days ago
This too is subjective.
No one designs for users any more. It's all gas no breaks on the path to enshitification. A lot of this is the motivation of the people building software.
Raise your hand if you ever saw a PM get promoted for removing a bunch of bad and/or unused features?
[–] eviks 2 days ago
But in general sure, it's not like we have good databases that count and classify bugs and track their numbers and severity and determine causes so we can compare the dynamic
[–] lowbloodsugar 2 days ago
[–] lirolero 3 days ago
cite 1
https://www.youtube.com/watch?v=MR4i3Ho9zZY&t=37s
The reason is clear - without scarcity of compute or memory, performance is no longer a feature. That works until all the laziness compounds into a crawling bloat.
This is regarding desktop software. With services, microservices is basically a performance anti-pattern that is used without any due diligence in most cases.