Re:The art of programming and why I won't use LLM
by creesch on Sunday August 25, 2024 @03:11PM
(#41350277)
Both of them are black boxes though by the author's own definition.
Re:The art of programming and why I won't use LLM
by szundi on Sunday August 25, 2024 @05:36PM
(#41351678)
Exactly
Re:The art of programming and why I won't use LLM
by YeGoblynQueenne on Monday August 26, 2024 @06:24AM
(#41355724)
Which definition do you mean?
Re:The art of programming and why I won't use LLM
by CJefferson on Sunday August 25, 2024 @03:09PM
(#41350261)
I recently had used an LLM to convert a lot of Python to Rust. It got it 99% right, and it took me a short while to fix the compile-time errors, and carefully check the tests weren't broken (as I trusted the code worked when the tests passed).
Is that "compiling" or "translating"? Lots of people use language to C "compilers".
Re:The art of programming and why I won't use LLM
by shepherdjerred on Sunday August 25, 2024 @04:53PM
(#41351323)
Compilation is generally deterministic with strict semantics.
LLMs are great, but they are the opposite of a compiler (in a good way)
Re:The art of programming and why I won't use LLM
by YeGoblynQueenne on Monday August 26, 2024 @06:24AM
(#41355723)
Translating Python to Rust is translation, prompting an LLM for new Python or Rust code is generation.
The dismissive glibness of your comment makes me wonder if it's worth it trying to point out the obvious error in the analogy you're making. Compilers translate, LLMs generate. They are two completely different things.
When you write a program in a high-level language and pass it to a compiler, the compiler translates your program to machine code, yes. But when you prompt an LLM to generate code, what are you translating? You can pretend that you are "translating natural language to code" but LLMs are not translators, they're generators, and what you're really doing is providing a prefix for the generated string. You can generate strings form an LLM with an empty prefix; but try asking a compiler to compile an empty program.
>> Even the Apollo spacecraft programmers at MIT had a black box: they offloaded the weaving of core rope memory to other people.
You're referring to core rope memory:
https://en.wikipedia.org/wiki/Core_rope_memory
There is no "black box" here. Programmers created the program and handed it over to others to code it up. That's like hiring someone to type your code for you at a keyboard, following your instructions to do so. You have to stretch things very far to see this as anything like compilation.
Also, really, compilers are not black boxes. Just because most people treat them as a scary unknowable thing doesn't mean that's what they are. LLms are "black boxes" because no matter how much we peer at their weights, arrays of numerical values, there's nothing we can ... er ... glean from them. They're incomprehensible to humans. Not so the code of a compiler. Even raw binary is comprehensible, with some experience.