The Code Suggestion Crisis

7 minute(s)

AI Autocomplete: Symbol of death

AI is causing a big transformation in the software development field in practically all areas, I can't doubt that, with the success of LLM for development it's no doubt great for productivity.

Though as part of the development process tools have been developed that are designed to speed development up. This is causing an AI boom in the IDE space and with every new invention there are mixed results.

The biggest failure for me though are code suggestion tools. No doubt tremendous effort to implement but in my opinion, it doesn't sit with me right. They're obtrusive and it's insulting my intelligence. And the biggest problem? It's not seeming to be going away.

The Rise of AI Assistants in Coding

AI, for me, reminds me of an ambitious student. When I give it some instruction it can quickly trawl a rather large library to find the information needed to formulate an answer. With a somewhat optimistic outlook, it will always give it's best to present an answer potientally at the cost of correctness.

Now then with code suggestions lets imagine I need to pet a dog, do I need a robot to do that for me? Treating me like I dont know how to handle basics is something that people don't like and that's where I sit with them.

Code Suggestions are Annoying

Okay so my biggest pet peeve with code suggestions is that I am very limited on what I can communicate without some weird workarounds like comments. When I don't want it to try and guess, it guesses. It can also get caught up in a did you mean to do this? No I CAN DO IT MYSELF THANKS. So it makes some very annoying guesses often times based on my own code as to what the solution is, which casues my blood to boil, conveniently this leads to point two.

New Frameworks suffer

Tech keeps changing, tools are absolutely no means perfect yet Copilot auto-complete rewards you for sticking to the more commony used things which can be good but new tools need to be developed as life moves on and AI is going to have a real hard time forgetting things.

Code suggestions exacerbates this problem, by trying to make awful guesses for newer frameworks maybe this gets better in time and Copilot will learn not to try when it shouldn't but that drive me insane thinking about.

Code suggestions steal from other suggestions

Copilot auto-complete eats several slots of what my IDE can offer me, your LSP is an important tool, which effectively tells you the methods available on objects, what you can do with that array etc.

For every suggestion Copilot auto-complete provides, you loose two other things, you miss a potential option on a method you dont see. Is that correct? What gave copilot precednce over anything else?

It can be wrong

The LSP can't make guesses, If it's a method and I use it wrong or misinterpret it's meaning, that's on me but Copilot can be actually wrong and present something that doesn't even work. I don't think we have the computational power yet for the AI to test itself before it presents it's answer and Copilot is very good at presenting something that looks like it might be right. And as the saying goes,

To assume makes an ass out of u and me

Humans are born problem-solvers

I've been reading about dementia recently and long term mental health and in that book it suggests to combat dementia you should not use satellite navigation, why?

It apparently causes the hippocampus to diminish because the part of the brain that remembers which turn off to take or which direction your going comes from that part of the brain

Your brain is an important thing to train. Now I'm not going to be silly and make a prediction that the advent of AI will cause mass dementia but it does make me wonder of the long term effects that AI will have on our brains

Copilot code suggestions are the worst case implemention for this without even letting me trying to figure out the problem on my own, it's already guessed it for me. Like don't get me wrong I can't 'know' everything but I do remember some things. For some reason being told how to write log lines everytime doesn't feel helpful.

Conclusion

So as you can probably tell I dont like Copilot autocomplete, and I seriously dislike the fact that it's the dominant tool type in the AI dev space. (Aside from opening up the GPT website.)

We should be definitely steering newer devs to refactoring tools over Autocomplete atleast have a go at implementing something yourself, Human input will be invaluable and AI should be steered to helping the human condition not replacing it.