I have no idea how people can use LLM-generated code. In my experience they’re absolutely terrible. However it can be good for giving some insights time to time.
Probably because they’re not good enough to know any better.
It’s definitely improving. I thought the same as you but I looked through my recent ChatGPT prompts and it’s actually decent now, at least at simple/throwaway tasks. It doesn’t stand a chance at the niche domains of my actual job.
I only use it when I know exactly the code I’m trying to produce, but just saving time if it can write it for me. Somewhere I saw this described as ‘toil’ vs. ‘domain knowledge’, and it definitely reduces toil even if I have to correct it. Anywhere that I wouldn’t know how to correct it, I don’t trust it.
I only used LLM-generated code once. I tested and made modifications to see if it was I want. It worked out.
This seems like more time and trouble than just writing the code yourself.
(And while the same could often be said of assigning tasks to junior programmers, in that case it is an investment in the person rather than strictly a waste.)
In the meantime, I am interviewing juniors who can’t write a while or for loop without looking on the internet…
The future is looking grim.
As a senior programmer I can’t write a for loop without the internet.
I can’t remember the last time I saw a job listing that didn’t expect me to be an expert in at least 5 languages. The best part is that halfway through the interview you learn that they are no longer using half the languages listed, and are “transitioning” towards 2 others that aren’t even listed. You want me to whip out examples written in Fortran, C++, Rust, JS, and some random word you claim is a language in 2 hrs without the internet? Bitch, I don’t even think I could get prewritten “Hello World” examples compiled in 5 different languages in 2 hrs, much less on machine that I have never seen before.
I still hate the “vibe” terminology.
What I would have liked it to mean: While coding, put on some music, and zone out to coding.
What it means now: Prompt an AI to generate working code and solutions.
I don’t get where the “vibing” comes in. I guess you don’t have to think about the technical details? And that’s vibing? Maybe it’s just unfamiliarity and lack of practice, but poking the AI via prompting and thinking about how you can influence it better doesn’t feel like you could zone in to or “vibe”.
Maybe it’s about letting go of reasoning and just going for it? Vibing in the sense of going with the flow?
It’s not the first terminology I find unfitting. I’m trying to accept that it is what it is, and that it just is what “we collectively” have decided to call it (or ran with).
I assume the term is referring to the person knowing only the vibes of the program they want to code rather than comprehending the details of what it needs to do.
I find that using AI can sometimes help me get the ball rolling. Rather than having a blank page, I have some (sometimes shitty) code that I can start from. I have never used 100% of generated code in production.
Yeah I agree. It’s often easier to start from something that’s wrong than a blank page.
I use it to generically explain things to me. I give it limited things and ask it to break it down or give me alternatives.
No different than googling skills, how I ask gets different results, and sometimes it’s far faster than digging and digging through forum posts or textbook style documentation. Other times it’s a waste of my time and I quickly move on.
I often refer to ai as an index for human knowledge. It’s pretty good at expanding on the context around what you ask it. It’s great for getting started or to help point you in other directions
I often compare vibe coding to lord of the rings. Saruman blocks the fellowship’s path with difficult challenges. So too does solving hard problems in programming. So Gandalf decides they will take the mines of moria (vibe coding). He knows better but does so anyway. The rest of the fellowship naively follows him down (junior devs). Most of the path is just minor hiccups and the juniors fumbling around. But they get to a certain point and things start to get too heated. The hordes of goblins being the bugs introduced by the LLM as they keep changing the code via different prompts. Then they inevitably awaken the Balrog… the monstrous Complexity Demon that was brewing behind the vibe coding sunshine and roses.