Linux and Git inventor Linus Torvalds discussed AI in software development in an interview earlier this month, describing himself as “fairly positive” about vibe coding, but as a way into computing, not for production coding where it would likely be horrible to maintain.

Torvalds was interviewed by Dirk Hohndel, head of open source at Verizon, at the Linux Foundation Open Source Summit in Seoul, South Korea, earlier this month.

Torvalds is technical lead and maintainer of the Linux kernel, but said that “for the last almost 20 years, I’ve not been a programmer.” As for Git, which he invented, “I really just look at it from the side.”

  • hikaru755@lemmy.world
    link
    fedilink
    arrow-up
    17
    arrow-down
    2
    ·
    2 days ago

    literally any abstraction

    Except vibe coding is not an abstraction in the way that word is usually used in the software context. Abstractions are deterministic. They may be leaky, but they can be fully understood and properly debugged if you have the skill. A chat bot that gives you a completely different result each time you give it the exact same task is something very different from that.

    • azertyfun@sh.itjust.works
      link
      fedilink
      arrow-up
      3
      ·
      2 days ago

      I agree with all you said but it’s still a (bad) abstraction.

      By and large, the original market for VBScript or Cobol were people who did not have the means to understand - nevermind debug - their own output. Then actual professionals were hired to fix their broken pile of shit.

      Vibe coding is arguably worse in many areas (such as determinism), but I’d argue it’s a difference of degree not nature. The idea and target audience are largely the same, and the results will be as well, which is why I am not worried for my job security, quite the contrary.

    • grindemup@lemmy.world
      link
      fedilink
      arrow-up
      1
      ·
      2 days ago

      I think that’s a very valid point and I had to check my assumptions to see that you are largely right. However, I’m not sure your last sentence is necessary relevant, as the output of vibe coding is typically deterministic code, not code that is itself dependent on LLM (although that can happen as well but it can be considered as a special case).

      • Dekkia@this.doesnotcut.it
        link
        fedilink
        arrow-up
        3
        ·
        2 days ago

        Yes, but if you send the same promt to the same LLM n times, you’ll get n different versions of the same thing.

        When compiling the same C code (for example) with the same compiler and the same settings n times, you’ll end up with n copies of exactly the same binary.

        • grindemup@lemmy.world
          link
          fedilink
          arrow-up
          1
          ·
          2 days ago

          That’s just a weird comparison though, why are you comparing implementation to compilation? If I ask you (or a cohort of developers) to implement the same thing, I will get different versions of the same thing.

          • Dekkia@this.doesnotcut.it
            link
            fedilink
            arrow-up
            2
            ·
            2 days ago

            The argument was about deterministic abstraction.

            A bunch of devs can hardly be considered an abstraction layer imo.

            My argument was that a C compiler is an abstraction tool that deterministically turns the description of a program (in the C language) into machine code. That way people don’t have to write machine code by hand.

            • grindemup@lemmy.world
              link
              fedilink
              arrow-up
              1
              ·
              14 hours ago

              I get your argument just fine, and as I said I think you have a very credible and interesting point regarding the fact that LLM outputs are a nondeterministic abstraction. But if you consider LLMs as an abstraction in generating code, why not humans?? I don’t see the principled distinction, as human devs are also code generators.

              This is sensible in practice, since if someone needs to build something, they can either hire a dev or they can vibe code it themselves. Either way, they will end up with deterministic code (albeit perhaps very different quality depending on the code generator).