4 ms·
> That's your job. Exactly. AI assisted development isn't all or nothing. We as a group and as individuals need to figure out the right blend of AI and human
by ap99 9mo ago
> That's your job.
Exactly.
AI assisted development isn't all or nothing.
We as a group and as individuals need to figure out the right blend of AI and human.
- freedomben 9mo agoSeriously. I've known for a very long time that our community has a serious problem with binary thinking, but AI has done more to reinforce that than anything I can think of in modern memory. Nearly every discussion I get into about AI is dead out of the gate because at least one person in the conversation has a binary view that it's either handwritten or vibe coded. They have an insanely difficult time imagining anything in the middle. Vibe coding is the extreme end of using AI, while handwriting is the extreme end of not using AI. The optimal spot is somewhere in the middle. Where exactly that spot is, I think is still up for debate. But the debate is not progressed in any way by latching on to the extremes and assuming that they are the only options.
- deleted 9mo ago[deleted]
- anonymars 9mo agoI think you will find this is not specific to this community nor AI but any topic involving nuance and trade-offs without a right answer For example, most political flamefests
- kaydub 9mo agoThe "vibe coding" term is causing a lot of brain rot. Because when I see people that are downplaying LLMs or the people describing their poor experiences it feels like they're trying to "vibe code" but they expect the LLM to automatically do EVERYTHING. They take it as a failure that they have to tell the LLM explicitly to do something a couple times. Or they take it as a problem that the LLM didn't "one shot" something.
- bandrami 9mo agoI'd like it to take less time to correct than it takes me to type out the code I want and as of yet I haven't had that experience. Now, I don't do Python or JS, which I understand the LLMs are better at, but there's a whole lot of programming that isn't in Python or JS...
- kaydub 9mo agoI've had success across quite a few languages, more than just python and js. I find it insanely hard to believe you can write code faster than the LLM, even if the LLM has to iterate a couple times. But I'm thankful for you devs that are giving me job security.
- bandrami 9mo agoAnd that tells me you're on the dev end of the devops spectrum while I'm fully on the ops side. I write very small pieces of software (the time it takes to type them is never the bottleneck) that integrates in-house software with whatever services they have to actually interact with, which every LLM I've used does wrong the first fifteen or so times it tries (for some reason rtkit in particular absolutely flummoxes every single LLM I've ever given it to).
- kaydub 9mo agoRtkit... what are you even working on?
- freedomben 9mo agoI pretty well span the devops spectrum from building/maintaining services to running/integrating/monitoring them in prod. LLMs are definitely better at the dev side than the ops side, no doubt about that. And when it comes to firewalld and many other sysadmin tools I agree it can often be faster to just hand type than to have the LLM do it. Even just writing Dockerfiles it's often faster to do it by hand than the LLM because the LLM will screw it up 6 to 12 times before getting it right, and usually "getting it right" is because I told it something like, "dude you can't mount, you need to copy." It's especially insanely stupid when it comes to rootless podman. But that said, there are still plenty of ops-y situations where AI can be very helpful. Even just "here's a 125k lines of prod logs. Can you tell me what is going wrong?" has saved me lots of time in the past, especially for apps that I'm not super familiar with. It's (sometimes) pretty good at finding the needle in the haystack. The most common workflow I have now is to point an agent at it and while it's griding on it I'll do some hand greps and things. I've gotten to the bottom of some really tricky things much faster because of it. Sometimes it points me in the wrong direction (for example, one time it noticed that we were being rate-limited by the Cloudflare API, and instead of adding a single flag to the library calls it wrote it's own very convoluted queue system. But it was still helpful because at least it pinpointed the problem). The other "small pieces of software" I find it very helpful for are bash functions or small scripts to do things. The handwritten solution is usually quick, but rarely as resilient/informative as it could be because writing a bunch of error handling can 5x or 10x the handwritten time. I will usually write the quick version, then point AI at it and have it add arg passing/handling, error handling, and usage info/documentation. It's been great for that.
- thesz 9mo ago> AI assisted development isn't all or nothing. > We as a group and as individuals need to figure out the right blend of AI and human. This is what makes current LLM debate very much like the strong typing debate about 15-20 years ago. "We as a group need to figure out the right blend of strong static and weak dynamic typing." One can look around and see where that old discussion brought us. In my opinion, nowhere, things are same as they were. So, where will LLM-assisted coding bring us? By rhyming it with the static types, I see no other variants than "nowhere."
- dwaltrip 9mo agoAs a former “types are overrated” person, Typescript was my conversion moment. For small projects, I don’t think it makes a huge difference. But for large projects, I’d guess that most die-hard dynamic people who have tried typescript have now seen the light and find lots of benefits to static typing.
- thesz 9mo agoI was on the other side, I thought types are indispensable. And I still do. My own experience suggest that if you need to develop heavily multithreaded application, you should use Haskell and you need some MVars if you are working alone and you need software transactional memory (STM) if you are working as part of a team, two and more people. STM makes stitching different parts of the parallel program together as easy as just writing sequential program - sequential coordination is delegated to STM. But, STM needs control of side effects, one should not write a file inside STM transaction, only before transaction is started or after transaction is finished. Because of this, C#, F#, C++, C, Rust, Java and most of programming languages do not have a proper STM implementation. For controlling (and combining) (side) effects one needs higher order types and partially instantiated types. These were already available in Haskell (ghc 6.4, 2005) at the time Rust was conceived (2009), for four years. Did Rust do anything to have these? No. The authors were a little bit too concerned to reimplement what Henry Baker did at the beginning of 1990-s, if not before that. Do Rust authors have plans to implement these? No, they have other things to do urgently to serve community better. As if making complex coordination of heavily parallel programs is not a priority at all. This is where I get my "rhyme" from.
- kaydub 9mo agoI'm only writing 5-10% of my own code at this point. The AI tools are good, it just seems like people that don't like them expect them to be 100% automatic with no hand holding. Like people in here complaining about how poor the tests are... but did they start another agent to review the tests? Did they take that and iterate on the tests with multiple agents? I can attest that the first pass of testing can often be shit. That's why you iterate.
- Ososjjss 9mo ago> I can attest that the first pass of testing can often be shit. That's why you iterate. So far, by the time I’m done iterating, I could have just written it myself. Typing takes like no time at all in aggregate. Especially with AI assisted autocomplete. I spend far more time reading and thinking (which I have to do to write a good spec for the AI anyways).