you are viewing a single comment's thread
view the rest of the comments
[–] 0 points 1 year 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.

  • source
  • parent