Remix.run Logo
twa927 a day ago

> Code becomes only one representation of thought among many overlapping ones.

This is wrong, code is the concrete "truth" being executed, the rest (plans, prompts, agent instructions) are just temporary artifacts used to generate the code. What's left is the code alone.

LLMs don't have any semantics, they can't execute anything with 100% certainty. So far programming languages are the only langugues that can do that.

causal a day ago | parent | next [-]

I think you misunderstand. Code is also representing something. It may be what gets executed, but that does not make it "correct".

kloop a day ago | parent [-]

It does make it correct in the reality sense

If someone says something happens and the code says something else, the code wins.

articulatepang a day ago | parent [-]

That's technically correct but consider the following:

You're implementing quicksort. The actual algorithm is a conceptual piece of math. You write the code. But sometimes the code produces output that isn't sorted.

The code "wins" in that whatever the code says is what actually happens. But the code is wrong. It must be edited to match the algorithm. The _algorithm_ is the thing that is proven correct; the _algorithm_ is what we wanted to execute. The code is a representation of the algorithm.

skydhash a day ago | parent [-]

Let’s say you were trying to say “I like bread” in French (which is “j’aime le pain”) but what come out is “j’aime le vin” (I like wine). It is the wrong statement, but it will produce an effect as the other party may bring you wine (which you may hate). The actual issue here isn’t that you didn’t speak French, but that you didn’t express what you wanted well.

So code is just a notation. But one that is executable. In your example, the code is working, it’s just not what you intended. The issue is not the code, the issue is that you don’t know code well enough to “speak” your algorithm.

And that is the main issue with a lot of LLM users. They are translating specs (which they do understand) to code (that they do not understand) and then relying on superficial outputs to see if they got it right. While also telling fluent speakers that they should follow the same workflow. At least with human languages, the other party may detect discrepancy and the fact that you’re not a native speaker. But a computer will execute things blindly.

Terr_ a day ago | parent | prev | next [-]

> What's left is the code alone.

The necessary work is more than just the deliverable. Even a simple patch implies an indefinite number of other approaches not-taken, and sometimes not-taken for good reasons.

Sometimes we explicitly document those, sometimes we trust that a human expert decided against them. Those other aspects of work still exist, even if they are getting skipped/mismanaged with LLMs.

a day ago | parent | prev | next [-]
[deleted]
pydry a day ago | parent | prev | next [-]

No, I think it's correct. One artefact of programming for decades is that I ended up thinking in code directly without "translating" from English first.

Thus the push to use LLMs has felt a little bit like being a fluent French speaker being told that all of the best French writers are using google translate to write French translated from English now.

chungusamongus a day ago | parent | prev [-]

Nope. Code is a representation. Even low level code. The fact that you do not understand this is concerning.

bluefirebrand a day ago | parent [-]

No? Code is literally instructions to the machine. Especially low level code. It's not a representation of anything, it's a list of commands in sequence for the computer to execute

The fact that you do not understand that is concerning.

chungusamongus 21 hours ago | parent [-]

Hah, think about what you're saying. An instruction is itself a representation.