• Ek-Hou-Van-Braai@piefed.socialOP
    link
    fedilink
    English
    arrow-up
    9
    arrow-down
    2
    ·
    18 hours ago

    Shitty devs will write shitty code using AI

    Good devs will write good code faster with AI

    I have for sure seen far worse hand written code than AI would produce

    • Hetare King@piefed.social
      link
      fedilink
      English
      arrow-up
      5
      arrow-down
      2
      ·
      edit-2
      12 hours ago

      If it takes less time and energy to describe what you want in natural language than to just write the code, there are two possibilities:

      1. You’re not a good dev.
      2. There’s a better, more reliable way of doing it that is less likely to needlessly increase your maintenance overhead.

      In the end, only shitty devs benefit, while being prevented from becoming good devs, while good devs turn into mediocre devs.

      • Ek-Hou-Van-Braai@piefed.socialOP
        link
        fedilink
        English
        arrow-up
        2
        ·
        11 hours ago

        “I want a method that inverts a binary tree”

        Can you code that quicker than you can describe it in natural language?

        No obviously not, AI could give that to you in ~30 seconds.

        And it would probably be flawless, but you can review it yourself to double check

        • Hetare King@piefed.social
          link
          fedilink
          English
          arrow-up
          2
          ·
          5 hours ago

          This is really more a case of possibility #2. Specifically, why are you rolling your own in the first place? The whole reason the output of the AI is “probably flawless”, is because this operation already has a million implementations. What’s the value in conjuring up another one and adding it to the code that needs to be maintained? Yeah, binary trees aren’t terribly complicated, but neither is struct Vector3 { float x, y, z; }; or any of its operations, until you realise you’ll be running those operations an awfully lot, so it would be better if it had the right alignment and SIMD instructions were used in its operations, and of course, if you have Vector3 you’ll probably also need a Matrix4x3 and a Quaternion etc., so in the end it’s just better to use an existing solution.

          This is what I mean with turning good devs into mediocre ones: the worst solution becomes the easiest solution, so that’s what people will lean towards.

          Of course, there can also be situations like you have a very specific use-case and using something off-the-shelf would be sub-optimal, or you’re working with old code and making their own was the decision the previous person or your dumbass past-self made, so that’s just what you have to work with. But the AI is going to struggle more with those cases too.

          Lastly, I also mentioned “energy”. If you’re trying to put in words things that aren’t easily conveyed in English (or any other natural language) all the time, you burn through your cognitive endurance like crazy. This is why you don’t want to be in a highly technical meeting in the morning, so being in one all day with a moron you can’t really come to common understanding with (beyond the size of its context window) is even worse.