• kescusay@lemmy.world
    link
    fedilink
    English
    arrow-up
    63
    arrow-down
    8
    ·
    edit-2
    4 months ago

    Copilot isn’t actually bad, it’s just that you need to be careful with it and recognize its limitations.

    Writing a bunch of REST endpoints for an API and need to implement all the typical http verbs, and you already have all the matching methods for reading, updating, and deleting values in a complex SQL database for each endpoint to call? Copilot can turn a ten minute chore into a ten second one. Very handy.

    Writing those complex SQL methods in the first place? Yeah… Copilot will probably make a ton of mistakes and its work will need to be triple-checked. You’ll save time just doing it yourself if you know how. (And if you don’t, you have no business calling yourself a developer.)

    Copilot is best for easy boilerplate and repetitive code. Problems arise as soon as you ask it to get “creative.”

    • TimeSquirrel@kbin.social
      link
      fedilink
      arrow-up
      14
      ·
      edit-2
      4 months ago

      One time I decided for shits and giggles to just keep pushing tab and see where it went. It didn’t take long for it to enter a useless recursive loop, hallucinating a new iteration of the same thing on each line.

      It definitely isn’t gonna magically think up new algorithms for you. I don’t know what everybody is scared of. It ain’t even gonna replace my kid programming on Scratch.

      • kelvie@lemmy.ca
        link
        fedilink
        English
        arrow-up
        3
        ·
        4 months ago

        I mean didn’t we all do this when phones started autocompleting sentences like a decade ago? (Or however long it was, time perception is fickle)

    • lemmyvore@feddit.nl
      link
      fedilink
      English
      arrow-up
      12
      arrow-down
      4
      ·
      4 months ago

      Copilot isn’t actually bad for developers, it’s just that you need to be careful with it and recognize its limitations.

      Is it me or is this a weird statement for what’s supposed to be an exact science?

      Imagine working in construction and using a level and you’re told “it’s not that it’s a bad level, you just gotta be careful with it”.

      How much margin for error should we allow for getting our code right? Is it now acceptable if we only get 80% right?

      • kescusay@lemmy.world
        link
        fedilink
        English
        arrow-up
        7
        arrow-down
        1
        ·
        4 months ago

        It’s more like you get some kind of weird construction multitool that promises to be a level, a drill, a hammer, and a dozen other things, and it turns out to be a really good, innovative, and helpful level… and a really bad everything else.

      • pezhore@lemmy.ml
        link
        fedilink
        English
        arrow-up
        5
        ·
        4 months ago

        I use copilot a bit for my work - and I treat it like copy-paste from StackOverflow - sure that codeat look right, but you’ve gotta double check it and test it a few times before you commit and push.

      • birbs@lemmy.world
        link
        fedilink
        English
        arrow-up
        4
        ·
        4 months ago

        As a software developer I promise you that software development is very much not an exact science.

        Programs are complex and there are so many different ways of achieving the same thing that all code has problems and gets a bit messy in places. You can test, but it’s not easy to ensure that everything works the way it should.

        The best code you’re going to get will probably be in the space industry, but even that will have bugs. The best you can do is make the code robust even when bugs make things go wrong.

        In many cases copilot will do just as well as a junior developer. It’s very good at repetitive tasks and filling gaps in your existing code.

    • friend_of_satan@lemmy.world
      link
      fedilink
      English
      arrow-up
      4
      ·
      edit-2
      4 months ago

      Always ask it to write tests for the code it generates. Of course, then you have to validate that the code works AND that the tests work.

      • anotherandrew@lemmy.mixdown.ca
        link
        fedilink
        English
        arrow-up
        1
        arrow-down
        1
        ·
        edit-2
        4 months ago

        Or just write the damn thing yourself and save a bunch of headaches and wondering if you got the tests right it if there’s some screwy corner case lurking because of its implementation.