• timochka@lemmy.zip
    link
    fedilink
    arrow-up
    4
    arrow-down
    1
    ·
    2 days ago

    Tell me you weren’t around for the early days of compiler development without telling me you weren’t around for the early days of compiler development…

    (Actually, for niche architectures LLVM is also pretty bug-riddled. Maybe with AI we can finally fix some of that.)

    • Mikina@programming.dev
      link
      fedilink
      arrow-up
      1
      ·
      edit-2
      1 day ago

      What was the non-determinism in compilers? Honest question. Like, where does it comes from?

      If you had a bug in a compiler, and a code that caused it, would it, for the same input and architecture only show some of the time? Does it included randomness in how it handles output?

      Being bug-ridden is not the same as non-determinstic, if you can reproduce the bug everywhere and thus fix it, so I’m honestly curious where would the non-determinism of compilers come from.

      • timochka@lemmy.zip
        link
        fedilink
        arrow-up
        2
        arrow-down
        2
        ·
        1 day ago

        Firstly, non-determinism isn’t nearly the gotcha you think it is - it’s trivial to make an LLM deterministic by just passing one parameter to the inference engine.

        Secondly, nothing is non-deterministic in a strict sense on any traditional computer architecture (including the ones LLMs run on). Given all the inputs, and all the algorithms I can recreate the output; what makes the output ‘non deterministic’ is the complexity of the input and the feasibility of doing that. Frankly, compilers come pretty close to reaching the necessary complexity to be practically non-deterministic; anyone who had never spent days banging their head against code that works perfectly with debug enabled but fails utterly when compiled with release optimisations, but only when two logically entirely unrelated pieces of code happen to be written in a particular order, and then only if interrupts are enabled on the target… Well, anyone who hasn’t been through that has no business calling themselves a software engineer - and certainly no business telling other software engineers what tools they are allowed to use.

        Honestly, a bunch of wets brought up on PHP and Javascript and managed runtimes now thinking they’re qualified to dictate what Real Programming entails is just laughable.

        • tyler@programming.dev
          link
          fedilink
          arrow-up
          1
          arrow-down
          1
          ·
          23 hours ago

          Frankly, compilers come pretty close to reaching the necessary complexity to be practically non-deterministic; anyone who had never spent days banging their head against code that works perfectly with debug enabled but fails utterly when compiled with release optimisations, but only when two logically entirely unrelated pieces of code happen to be written in a particular order, and then only if interrupts are enabled on the target… Well, anyone who hasn’t been through that has no business calling themselves a software engineer - and certainly no business telling other software engineers what tools they are allowed to use.

          that is still deterministic… you don’t understand what deterministic means.

          go ahead and show us an llm that is deterministic with a parameter passed to the inference engine. I’ll wait.

          • timochka@lemmy.zip
            link
            fedilink
            arrow-up
            1
            ·
            19 hours ago

            Reading comprehension not your strong point, huh?

            Tell me, is it PHP or Javascript you’re l33t in? Actually, don’t bother… plonk.