> What are some of the differences between Peer Programming with LLMs and Vibe Coding?
"Vibe Coding" is specifically using the LLM instead of programming anything, barely caring about the output. If something is wrong, don't even open the file, just ask the LLM. Basically "prompting while blindfolded" I guess you could say.
Peer programming with an LLM would be to use it as another tool in the toolbox. You still own your program and your code. Edit away, let the LLM do some parts that are either too tricky, or too trite to implement, or anything in-between. Prompts usually are more specific, like "Seems X is broken, look into Y and figure out if Z could be the reason".
> There's a new kind of coding I call "vibe coding", where you fully give in to the vibes, embrace exponentials, and forget that the code even exists. (...) I ask for the dumbest things like "decrease the padding on the sidebar by half" because I'm too lazy to find it. I "Accept All" always, I don't read the diffs anymore. (...)
Pair programming still very much deals with code and decisions.
So, pair programming continues to emphasize software quality (especially with LLMs) but "vibe coding" is more of a "whoo, I'm a reckless magician" (in a less risky application domain) sort of thing?
But doesn't a 'vibe-coding' "we'll just sort out the engineering challenges later" ensure that there will be re-work and thus less overall efficiency?
I would say that the difference is taking an engineering approach to the process itself. Iterating on the context, putting the system into various states, etc. Treating the AI like a very knowledgeable intern who also has a very fixed short term memory and can’t form new long term memories but can be taught to write things down like in Memento. The thing is, though, it has a much much larger short term memory than me.