Over the past few years, the evolution of AI-driven tools like GitHub’s Copilot and other large language models (LLMs) has promised to revolutionise programming. By leveraging deep learning, these tools can generate code, suggest solutions, and even troubleshoot issues in real-time, saving developers hours of work. While these tools have obvious benefits in terms of productivity, there’s a growing concern that they may also have unintended consequences on the quality and skillset of programmers.

  • beeng@discuss.tchncs.de
    link
    fedilink
    arrow-up
    9
    arrow-down
    11
    ·
    2 months ago

    You write machine code?

    No, you only describe what you want the compiler to write in machine code.

    With copilot it’s still a description.

    • Ethan@programming.dev
      link
      fedilink
      English
      arrow-up
      4
      arrow-down
      1
      ·
      2 months ago

      Copilot frequently produces results that need to be fixed. Compilers don’t do that. Anyone who uses copilot to generate code without understanding how that code works is a shit developer. The same is true of anyone who copies from stack overflow/etc without understanding what they’re copying.

      • beeng@discuss.tchncs.de
        link
        fedilink
        arrow-up
        4
        arrow-down
        2
        ·
        edit-2
        2 months ago

        You’re missing the point. If the program doesn’t do what it’s meant to its YOU that didn’t use the tools between you and metal, correctly. LLM involved or not, it’s how you’ve described it, in whatever ‘language’ you chose (natural or Rust)

        • Ethan@programming.dev
          link
          fedilink
          English
          arrow-up
          2
          ·
          2 months ago

          The key difference is that compilers don’t fuck up, outside of the very rare compiler bug. LLMs do fuck up, quite often.

    • magic_smoke@links.hackliberty.org
      link
      fedilink
      arrow-up
      10
      ·
      2 months ago

      Sure but you’re also specifically telling it direct instructions which it will follow every time to the T, based on predetermined logic.

      That is no where near how an LLM works. Furthermore, most programming languages require effort to learn. They night not be machine language, or even an assambler, but its still a skill you actually have to learn beyond speaking your native tongue.

      Also one could make the argument that machine code is a “description” of what you want the CPU to do.

      • beeng@discuss.tchncs.de
        link
        fedilink
        arrow-up
        1
        arrow-down
        2
        ·
        2 months ago

        The skill beyond your native tongue is knowing what a db does and how to describe what your app does. Aka a designer, with design language. Good luck with a LLM getting it to do what you want with no domain specific language.

        “No, no, not like that, I meant bigger…”

    • ulkesh@beehaw.org
      link
      fedilink
      English
      arrow-up
      2
      ·
      2 months ago

      And many programmers write some pretty stupid and horrible descriptions. LLMs don’t solve this, they just allow lazy programmers to be even lazier.

        • ulkesh@beehaw.org
          link
          fedilink
          English
          arrow-up
          3
          ·
          2 months ago

          I don’t even know how to respond to this. It makes no sense at all and doesn’t really relate to or respond to my comment except it happens to use the word “lazy”, I’m guessing in reference to my comment. Good luck trying to push LLMs, not sure what your agenda really is, other than to be argumentative here. Peace.

    • Snarwin@fedia.io
      link
      fedilink
      arrow-up
      4
      ·
      2 months ago

      If the compiler produces a program that doesn’t match your description, you can debug the compiler. Can you debug an LLM?

      • beeng@discuss.tchncs.de
        link
        fedilink
        arrow-up
        1
        arrow-down
        2
        ·
        edit-2
        2 months ago

        Why wouldn’t a compiled program match your description (code)? The compiler is broken?? Compiled programs alwsys match their description(code).

        So more likely your translation from idea to function is wrong.

        Re-read your description, step through it slowly, what did you assume, that was wrong, or where did you add a mistake or typo? Sounds like I can do this in natural language or in Rust.

        You can say that llms are not deterministic of what they produce, but that’s got nothing to do with making a programmer worse at their job.

        If you can’t translate your idea into function and test its output to be what you want, then you are a bad programmer.