zlacker

[return to "My AI skeptic friends are all nuts"]
1. parado+4u[view] [source] 2025-06-03 00:29:20
>>tablet+(OP)
I like Thomas, but I find his arguments include the same fundamental mistake I see made elsewhere. He acknowledged that the tools need an expert to use properly, and as he illustrated, he refined his expertise over many years. He is of the first and last generation of experienced programmers who learned without LLM assistance. How is someone just coming out of school going to get the encouragement and space to independently develop the experience they need to break out of the "vibe coding" phase? I can almost anticipate an interjection along the lines of "well we used to build everything with our hands and now we have tools etc, it's just different" but this is an order of magnitude different. This is asking a robot to design and assemble a shed for you, and you never even see the saw, nails, and hammer being used, let alone understand enough about how the different materials interact to get much more than a "vibe" for how much weight the roof might support.
◧◩
2. SpicyL+Hu[view] [source] 2025-06-03 00:35:10
>>parado+4u
I suppose the counterargument is, how many experienced programmers today have seen a register or a JMP instruction being used?
◧◩◪
3. weikju+hy[view] [source] 2025-06-03 01:08:35
>>SpicyL+Hu
Your compiler does not hallucinate registers or JMP instructions
◧◩◪◨
4. zdragn+AA[view] [source] 2025-06-03 01:31:10
>>weikju+hy
Doesn't it? Many compilers offer all sorts of novel optimizations for operations that end up producing the same result with entirely different runtime characteristics than the source code would imply. Going further, turn on gcc fast math and your code with no undefined behavior suddenly has undefined behavior.

I'm not much of a user of LLMs for generating code myself, but this particular analogy isn't a great fit. The one redeeming quality is that compiler output is deterministic or at least repeatable, whereas LLMs have some randomness thrown in intentionally.

With that said, both can give you unexpected behavior, just in different ways.

◧◩◪◨⬒
5. Mobius+xC[view] [source] 2025-06-03 01:49:49
>>zdragn+AA
I suppose you are talking about UB? I don't think that is anything like Halucination. It's just tradeoffs being made (speed vs specified instructions) with more ambiguity (UB) than one might want. fast math is basically the same idea. You should probably never turn on fast math unless you are willing to trade speed for accuracy and accept a bunch of new UB that your libraries may never have been designed for. It's not like the compiler is making up new instructions that the hardware doesn't support or claiming the behavior of an instruction is different than documented. If it ever did anything like that, it would be a bug, and would be fixed.
◧◩◪◨⬒⬓
6. Dylan1+wi1[view] [source] 2025-06-03 09:29:16
>>Mobius+xC
> or claiming the behavior of an instruction is different than documented

When talking about undefined behavior, the only documentation is a shrug emoticon. If you want a working program, arbitrary undocumented behavior is just as bad as incorrectly documented behavior.

◧◩◪◨⬒⬓⬔
7. Mobius+C22[view] [source] 2025-06-03 15:09:28
>>Dylan1+wi1
UB is not undocumented. It is documented to not be defined. In fact any given hardware reacts deterministically in the majority of UB cases, but compilers are allowed to assume UB was not possible for the purposes of optimization.
◧◩◪◨⬒⬓⬔⧯
8. Dylan1+0B2[view] [source] 2025-06-03 18:25:07
>>Mobius+C22
The trigger for UB is documented, the result is not documented.

And despite the triggers being documented, they're very very hard to avoid completely.

[go to top]