← Back to context

Comment by RayVR

1 day ago

"Programming languages are simpler than human languages"

this is a very stupid thing to say. The formal structure of a language doesn't easily determine the complexity of what can be done with a language, nor is it a way of predicting the difficulty of expressing an equivalent idea vs other formal or natural languages.

> this is a very stupid thing to say

Well, it does have the virtue of being straightforwardly true. For example, programming languages can't be ambiguous.

  • > programming languages can't be ambiguous

    This is "straightforwardly" false.

    Speaking specifically about the "language" part - while there is a formal specification for C++, many pieces are implementation dependent. Then there is actual undefined behavior that is part of a specification.

    Actual programs implemented in a language can be ambiguous. consider multi-threaded programs where data arrive at different times in different threads, leading to different outcomes. Or just pure ambiguity of intent. Or a program which incorporates undefined behavior intentionally.

    Formal and natural languages may overlap in some ways but it is ridiculous to compare them in this way and claim a probabilistic model is better at the formal language. Translation tasks are an example where LLMs perform extremely well, I would argue much better than in programming. Should I make the claim it's because of some intrinsic attribute of natural language vs formal language?

  • > programming languages can't be ambiguous

    Yes, in C++ we call it "unspecified behavior" and "undefined behavior"

    • Those occur when you've made an unambiguous statement that has no valid semantics. ("God should get a promotion."†) They don't occur when you've made an ambiguous statement ("We saw her duck.") As I noted above, it isn't possible to make an ambiguous statement.

      † I'm aware that that isn't an unambiguous statement. This is for the simple reason that it's next to impossible to make an unambiguous statement in a natural language; that's why legal documents use so many clauses. I'm relying on the reader here to realize which meaning I had in mind, which is the way all natural language works.