• lets_get_off_lemmy@reddthat.com
    link
    fedilink
    arrow-up
    5
    arrow-down
    2
    ·
    2 days ago

    AI coding assistants have made my life a lot easier. I’ve created multiple personal projects in a day that would’ve taken me multiple days of figuring out frontend stuff.

    It’s also helped me in my work, especially in refactoring. I don’t know how y’all are using them, but I get a lot of efficient use out of them.

    • sobchak@programming.dev
      link
      fedilink
      arrow-up
      1
      arrow-down
      1
      ·
      2 days ago

      I’ve had “success” with using them for small one-off projects where I don’t care too much about correctness, efficiency, or maintainability. I’ve tried using various AI tools (Copilot, Cursor agents, etc) for more serious projects where I do care about those things, and it was counter-productive (as studies have shown).

      Hmm, I was curious if ChatGPT still gives inefficient code when asking it to write quicksort in Python, and it still does:

      def quicksort(arr):
          if len(arr) <= 1:  # Base case
              return arr
          pivot = arr[len(arr) // 2]  # Choose middle element as pivot
          left = [x for x in arr if x < pivot]   # Elements less than pivot
          middle = [x for x in arr if x == pivot] # Elements equal to pivot
          right = [x for x in arr if x > pivot]  # Elements greater than pivot
          return quicksort(left) + middle + quicksort(right)
      

      That’s not really quicksort. I believe that has a memory complexity of O(n log n) on the average case, and O(n^2) for the worst case. If AI does stuff like this on basic, well-known algorithms, it’s likely going to do inefficient or wrong stuff in other places. If it’s writing something someone is not familiar with, they may not catch the problems/errors. If it’s writing something someone is familiar with, it’s likely faster for them to write it themselves rather than carefully review the code it generates.