Live data from Hacker News

AI assistants: The convenient crutch for new developers or a recipe for disaster

blog.codeanywhere.com

11–20 of 76 posts

Re: AI assistants: The convenient crutch for new developers or a recipe for disaster

#11
To be optimistic in the medium term, the spread of AI code generators among novices will put pressure on languages and tooling to become even more idiot proof. That's not a bad thing!

You AI assistant may not be able to get everything right within its training data and resource allocation, and you might be too inexperienced to know what it did wrong, but languages and toolchains can adapt to better spot/describe/resolve the characteristic errors of using them. It starts an arms race that ends up with better compilers, linters, debuggers, analyzers, "debugging assistants", etc.

That change ends up being a positive one for everybody, but will take long enough that we will absolutely see plenty of new ugly messes in the meantime.

Re: AI assistants: The convenient crutch for new developers or a recipe for disaster

#13
post #5

Without expert filtering of the suggestions, yes, disaster. Experts will benefit the most from this because they can filter incorrect suggestions and reinterpret. Novices will be more susceptible. There is certainly ongoing research on this, expert systems have been an area of research for a while. Here is recent research relevant to this post: Do Users Write More Insecure Code with AI Assistants? ( https://arxiv.org…

Indeed. Copilot is like productivity rocket fuel for me. More importantly, less typing means less strain on my hands/wrists and a longer career.

For junior developers I wouldn't recommend it, because as you say, they don't have the pattern matching to find and fix the hidden errors that copilot generates. Also, it's harder to conceptualise code that you haven't written.

I would compare it to the way that chess players use engines. Grandmasters can have an engine turned on without it being distracting, and they can tell when the engine is suggesting a good move vs a weird move, and explain what the move accomplishes.

Beginners, are generally advised to play with the engine turned off, and to instead analyse their moves afterward, because otherwise they will just play the engine moves and not learn anything.

Re: AI assistants: The convenient crutch for new developers or a recipe for disaster

#14
I hate to even reply to this because it's falling into the author's trap. But, it's the typical new-tech clickbait. There's no data to back up their alarmist, knee-jerk hand wringing, just like when people thought novels were bad for people [1], or when writing would ruin our memories [2]. This article will be looked at similarly in a few years.

[1]https://archive.nytimes.com/op-talk.blogs.nytimes.com/2014/0...

[2]https://newlearningonline.com/literacies/chapter-1/socrates-...

Re: AI assistants: The convenient crutch for new developers or a recipe for disaster

#15
personally I feel they would turn out to be useful for new developer but its likely new devs will suffer 'developmental disability' (excuse the pun) after using them for significant period. This very akin to our (Gen Xer's) parents telling us not to rely on calculator for math problems. I know there is a stack overflow rebuttal to that and chatGPT could be very valuable there, especially if it avoids sifting through manpages to discover basic functionality.

I think one area AI assistants may be very useful is to do standard code quality and advanced linter style code review. I cant remember how many times I have seen engineers give 'cosmetic' CR feedback and completely miss big structural issues. If this makes everybody focus on deeper issues then I am all for it.

I work in embedded software and often I see the code quality coming out of SoC vendors is just full of bad practices. If AI can be a good code acceptance tool especially for last minute fixes we should jump on it.

Re: AI assistants: The convenient crutch for new developers or a recipe for disaster

#16

At some point, I realized most developers don't need to be very good. The ones with talent will get good, the mediocre ones can use crutches, which will probably make them better. We can all get on with our lives.

I find it at least mildly amusing that it seems like we spend a considerable amount of time trying to make things easier for ourselves as developers, but if you succeed too hard, people begin to get nervous or angry. Kinda like the negative reactions you'll see to no-code tools.

Some of it must be rational in some way, but I have to believe a lot of it is insecurity. To be fair, if AI could do what I do better than me, I'd be bummed out because I enjoy doing it and also I'd probably be out of a job. On the other hand, if it's physically possible, then it's inevitable.

There are people who once worried about autocomplete ruining programmers. I'll give you that I don't enjoy programming without intellisense, but it's not because I can't.

Re: AI assistants: The convenient crutch for new developers or a recipe for disaster

#17
post #5

Without expert filtering of the suggestions, yes, disaster. Experts will benefit the most from this because they can filter incorrect suggestions and reinterpret. Novices will be more susceptible. There is certainly ongoing research on this, expert systems have been an area of research for a while. Here is recent research relevant to this post: Do Users Write More Insecure Code with AI Assistants? ( https://arxiv.org…

Indeed. Copilot is like productivity rocket fuel for me. More importantly, less typing means less strain on my hands/wrists and a longer career. For junior developers I wouldn't recommend it, because as you say, they don't have the pattern matching to find and fix the hidden errors that copilot generates. Also, it's harder to conceptualise code that you haven't written. I would compare it to the way that chess player…

I agree with the chess analogy, but disagree with the statement about productivity.

Re: AI assistants: The convenient crutch for new developers or a recipe for disaster

#20

To be optimistic in the medium term, the spread of AI code generators among novices will put pressure on languages and tooling to become even more idiot proof. That's not a bad thing! You AI assistant may not be able to get everything right within its training data and resource allocation, and you might be too inexperienced to know what it did wrong, but languages and toolchains can adapt to better spot/describe/reso…

Most likely it can turn into a whole lot more verbosity and more boilerplate to make tools happy.

And plenty of more unnecessary complexity in codebases.

Post reply on HN