I used AI. It worked. I hated it.

https://lemmy.world/post/45089084

I used AI. It worked. I hated it. - Lemmy.World

cross-posted from: https://programming.dev/post/48191305 [https://programming.dev/post/48191305] > Or maybe that’s just me. I’ve been writing code for a good chunk of my life now. I find deep joy in the struggle of creation. I want to keep doing it, even if it’s slower. Even if it’s worse. I want to keep writing code. But I suspect not everyone feels that way about it. Are they wrong? Or can different people find different value in the same task? And what does society owe to those who enjoy an older way of doing things? > > If I could disinvent this technology, I would. My experiences, while enlightening as to models’ capabilities, have not altered my belief that they cause more harm than good. And yet, I have no plan on how to destroy generative AI. I don’t think this is a technology we can put back in the box. It may not take the same form a year from now; it may not be as ubiquitous or as celebrated, but it will remain. > > And in the realm of software development, its presence fundamentally changes the nature of the trade. We must learn how to exist in a world where some will choose to use these tools, whether responsibly or not. Is it possible to distinguish one from the other? Is it possible to renounce all code not written by human hands? > > https://taggart-tech.com/reckoning [https://web.archive.org/web/20260402210313/https://taggart-tech.com/reckoning/] [web-archive]

I want to keep doing it, even if it’s slower. Even if it’s worse.

You haven’t tried AI long enough. It’s faster than you, but the code you create is way better.

AI is only superficially good. If you ask it to piss some code that does something, sure it’ll do it. The code will even be readable, well-formatted and decently correct. Where AI fails is when the code lives in a particular environment, has constraints in terms of compatibility, solves a particular problem in a complex environment… Then AI will fail you spectacularly, and if you get lulled into thinking it’s cleverer than the idiot savant it truly is, you’ll get bitten hard.

Yeah, that’s cope. You can use it poorly, sure. Vibing will absolutely bite you in the ass.

But you can also feed it smaller, manageable chunks that you know are possible and straightforward, and then you can review those results and tweak and revise as needed. This is not vibe coding, but it is using AI in a way that will make you faster and more efficient.

For 95% of applications, it’s appropriate and efficient to use some level of AI. Maybe things like the Linux kernel don’t need it, but those applications are few and far between.

I’m not worried about being replaced. I’ve seen what it can do, for better and worse, and someone who knows what they’re doing needs to be in the loop. I don’t see that going anywhere anytime soon.

Really what I see happening is that projects that would take two months now take six weeks, but also end up more polished and feature complete than they would have otherwise. Maybe with that kind of efficiency gain you can cut a few people, but not that many. And most places can just use the extra 20% productivity.

If you’re doing it right and not vibing, it’s not the 2000% gain the techbros promise, but it is some gain.

I’ll agree with the assessment, moderately useful, depending on context, but “vibe” coding is a recipe for failure.

It also tends to neglect identifying a library and just embedding code directly, which for one makes me feel uncomfortable about not getting external maintenance and for another goes too far into maybe lifting someone’s work without attribution.

So if I want to make a cli utility, sure I might prompt up the argv parsing since it’s tedious and obvious and not going to be knocking off a viable off the shelf option. But the tech has to be applied very carefully.

I’m excited about using fewer third party dependencies, personally. npm is a hot mess.

Problem is you end up using the third party code indirectly, but without maintenance or a mechanism to notify about discovered flaws.

I wouldn’t touch the npm with a 20 foot pole if I could help it, hard to avoid with a SPA but even then I am very careful and don’t pull in dependencies lightly.

If not running in a browser, then it’s probably golang or c for me, depending on the application. Python of it’s got to be worked together with some other people, but very wary of pip just like npm (but pythons core is richer and easy to use c libraries)