5 ms·
> AI programming is fundamentally different from programming It's really not. Maybe vibecoding, in its original definition (not looking at generated code) is f
by redox99 7mo ago
> AI programming is fundamentally different from programming
It's really not. Maybe vibecoding, in its original definition (not looking at generated code) is fundamentally different. But most people are not vibe coding outside of pet projects, at least yet.
- hperrin 7mo agoIt very much is. It’s more like telling an intern what to do and then reviewing their code. Anyone can do it, and it results in (mostly) slop.
- yoz-y 7mo agoHopefully this does not devolve into ‘nuh-uh’-‘it is too’ but I disagree. Even putting aside the AI engineering part where you use a model as a brick in your program. Classic programming is based on assumption that there is a formal strict input language. When programming I think in that language, I hold the data structures and connections in my head. When debugging I have intuition on what is going on because I know how the code works. When working on somebody else’s code base I bisect, I try to find the abstractions. When coding with AI this does not happen. I can check the code it outputs but the speed and quantity does not permit the same level of understanding unless I eschew all benefits of using AI. When coding with AI I think about the context, the spec, the general shape of the code. When the code doesn’t build or crashes the first reflex is not to look at the code. It’s prompting AI to figure it out.
- phpnode 7mo agoThis is the same argument that people used to have against compilers
- archagon 7mo agoCompilers are an abstraction. AI coding is not an abstraction by any reasonable definition.
- phpnode 7mo agoYou're only thinking that because we're mostly still at the imperative, REPL stage. We're telling them what to do in a loop. Instead we should be declaring what we want to be true.
- arretevad 7mo agoYou’re describing a hypothetical that doesn’t exist. Even if we assume it will exist someday we can’t reasonably compare it to what exists today.
- phpnode 7mo agoIt exists today, please message me if you’d like to try it
- xphos 7mo agoThe value is in the imperative, the computer does what you tell it do, The control is very powerful and is arguably a major reason computer technology is as power and popular as it is today. Bits don't generally speaking argue with you the same way analog programming if by electronics or mechanical means did before the transistor. You can certainly write in imperative or functional but you are still telling the computer what you want. LLM use impercise language can generate loose binding the actual reality people one. They have there use cases too but they have a radically different locus of control. Compilers don't ask you to give up percision either they will do what you tell them to do. AI can do whatever it thinks is the most likely next token which is foundationally different from what we do when we engage in programming or writing in general
- yoz-y 7mo agoIt is not. One version of a compiler on one platform transforms a specific input into an exact and predictable artefact. A compiler will tell you what is wrong. On top of that the intent is 100% preserved even when it is wrong. An LLM will transform an arbitrarily vague input into an output. Adding more specification may or may not change the output. There is a fundamental difference between asking for “make me a server in go that answers with the current time on port 80” and actually writing out the code where you _have to_ make all decisions such as “wait in what format” beforehand. (And using the defaults is also making a decision - because there are defaults) Compilers have undefined behaviour. UB exists in well defined places. Even a 100% perfect LLM that never makes mistakes has, by definition, UB everywhere when spec lacks.
- phpnode 7mo agoRight, they allow for the idea of gradual specification - you can write in broad strokes where you don't care about the details, and in fine detail when you do. Whether the LLM followed the spec or not is mostly down to having the right tooling.
- deleted 7mo ago[deleted]
- chneu 7mo ago>But most people are not vibe coding outside of pet projects, at least yet. Major corporations have had outages thanks to AI slop code. Lol the idea that people aren't vibe coding outside of pet projects is hilarious.
- hu3 7mo agoThe idea that everyone using LLMs is vibe coding is equally hilarious.
- tovej 7mo agoIf you use an LLM to generate source code you are vibecoding. You specify the problem in natural language (the vibes) and the LLM spits out source (the code). Whether you review it or not, that is vibecoding. You did not go through the rigor of translating the requirements to a programming language, you had a nondeterministic black box generate something in the rough general vicinity of the prompt. Are people seriously trying to redefine what vibecoding is?
- estimator7292 7mo ago> If you use an LLM to generate source code you are vibecoding No, you're not. > Are people seriously trying to redefine what vibecoding is? Yes, you are.
- tovej 7mo agoNo, that is literally vibecoding. Reviewing vibecoded source is just an extra step. It's like saying "I'm not power toolgardening, I use a pair of gardening scissors afterwards." You still did power tool gardening. As additional proof, the dictionary definition of vibe coding is "the use of artificial intelligence prompted by natural language to assist with the writing of computer code" [1] It seems like vibecoders don't like the label and are retconning the term. [1] https://www.collinsdictionary.com/dictionary/english/vibe-coding https://www.collinsdictionary.com/dictionary/english/vibe-co...