71

Over the past few years, the evolution of AI-driven tools like GitHub’s Copilot and other large language models (LLMs) has promised to revolutionise programming. By leveraging deep learning, these tools can generate code, suggest solutions, and even troubleshoot issues in real-time, saving developers hours of work. While these tools have obvious benefits in terms of productivity, there’s a growing concern that they may also have unintended consequences on the quality and skillset of programmers.

top 50 comments
sorted by: hot top controversial new old
[-] Dunstabzugshaubitze@feddit.org 88 points 3 months ago

I've seen enough programmers blindly copypasting code from stackoverflow and other forums without thinking and never understanding the thing they just "wrote", to know that tools like copilot won't make programmers worse, they will allow more people to be bad programmers.

people need to read more code, play around with it, break it and fix it to become better programmers.

[-] Spzi@lemm.ee 2 points 3 months ago

Hehe, good point.

people need to read more code, play around with it, break it and fix it to become better programmers.

I think AI bots can help with that. It's easier now to play around with code which you could not write by yourself, and quickly explore different approaches. And while you might shy away from asking your colleagues a noob question, ChatGPT will happily elaborate.

In the end, it's just one more tool in the box. We need to learn when and how to use it wisely.

[-] thesmokingman@programming.dev 54 points 3 months ago

I have heard the same rhetoric about IDEs, autocomplete (Intellisense, Jedi, etc.), DevOps, and frameworks. The kernel of truth across all of them is the separation between a dev and good dev. It is getting easier and easier to have something built for you using AI in your IDE in a framework that abstracts all the things away dumped into a prebuilt pipeline that deploys your artifacts for you. A dev can do that. A good dev understands the tools and knows when to dig into things.

I have yet to see a decrease in the number of good devs I meet even though IDEs slowly replaced text editors (and editors became strong enough to become IDEs). Frameworks have enabled more good devs to focus on business logic. DevOps provides solid guard rails for everything.

I don’t know if there’s an increase in the number of superficial devs. I haven’t interviewed junior dev candidates in awhile. I do know the market is flooded right now so I’d argue there might be other factors.

Also overall I do agree with the idea that letting copilot do everything for you means you don’t understand anything. Shit was the same way when cookbooks were common.

[-] Kuinox@lemmy.world 5 points 3 months ago

I browsed author own codebase and the first thing I saw is 150 lines of C# reimplementing functions available in the .NET standard lib.

[-] lysdexic@programming.dev 1 points 3 months ago

the first thing I saw is 150 lines of C# reimplementing functions available in the .NET standard lib.

Once again: https://en.wikipedia.org/wiki/Dunning%E2%80%93Kruger_effect

[-] fuzzzerd@programming.dev 4 points 3 months ago

There are a LOT of superficial devs out there. You dont even have to be interviewing junior devs. Plenty of them out there at medium and senior levels. They existed before LLMs were spitting code like today, and this will undoubtedly lower the bar for bad developers to enter. It remains to be seen if this can help the gold developers in a meaningful way.

[-] lysdexic@programming.dev 2 points 3 months ago

They existed before LLMs were spitting code like today, and this will undoubtedly lower the bar for bad developers to enter.

If LLMs allow bad programmers to deliver work with good enough quality to pass themselves off as good programmers, this means LLMs are fantastic value for money.

Also worth noting: programmers do learn by analysing the output of LLMs, just as the programmers of old learned by reading someone else's code.

[-] fuzzzerd@programming.dev 2 points 3 months ago

I think I could have states my opinion better. I think LLMs total value remains to be seen. They allow totally incompetent developers to occasionally pass as below average developers. Is that good or bad? I don't know. What an average and excellent developer can do with LLM assistance is less clear. Certainly it can help those developers in some situations.

[-] lysdexic@programming.dev 1 points 3 months ago

I think I could have states my opinion better. I think LLMs total value remains to be seen. They allow totally incompetent developers to occasionally pass as below average developers.

This is a baseless assertion from your end, and a purely personal one.

My anecdotal evidence is that the best software engineers I know use these tools extensively to get rid of churn and drudge work, and they apply it anywhere and everywhere they can.

[-] fuzzzerd@programming.dev 1 points 3 months ago

I'm don't disagree. Good developers use the tools to do better, but its incremental not revolutionary improvements for already competent developers.

[-] BatmanAoD@programming.dev 43 points 3 months ago

I was hoping this might start with some actual evidence that programmers are in fact getting worse. Nope, just a single sentence mentioning "growing concern", followed by paragraphs and paragraphs of pontification.

[-] trolololol@lemmy.world 8 points 3 months ago

Thx for saving me a click. We are full of options and nobody has data. Down voting the post.

[-] fuzzzerd@programming.dev 8 points 3 months ago* (last edited 3 months ago)

Welcome to the Internet. Pontification is all we've got. Now we've got LLMs regurgitating the old pontifications to make new ones.

I came in with your same expectations and found the same shit. Just some opinion formed on the basis of "concern".

[-] pixeltree@lemmy.blahaj.zone 4 points 3 months ago* (last edited 3 months ago)

I don't think it's making devs worse, however I do think it's significantly lowering the bar to entry to the point where people who don't have enough knowledge to actually do the job well are becoming proceedingly common. Theoretically they should get weeded out by a good interview process but corporate be corporate

Not that my opinion is worth anything, it's not like I have anything to back it up.

Please disregard any takes I may have

[-] BatmanAoD@programming.dev 2 points 3 months ago

I mean, at least you acknowledge that you're presenting an opinion. This blog post just tries to gloss over the fact that it's pure speculation.

[-] nebeker@programming.dev 2 points 3 months ago

We’ve all read this post multiple times. Isn’t it just the “young people are lazy” that’s been going around for thousands of years?

https://historyhustle.com/2500-years-of-people-complaining-about-the-younger-generation/

At most it’s a tangent on it…

[-] Fades@lemmy.world 1 points 3 months ago

Exactly what I suspected. How could you even truly prove such a thing

[-] BatmanAoD@programming.dev 2 points 3 months ago

It's probably not "provable" one way or the other, but I'd like to see more empirical studies in general within the software industry, and this seems like a fruitful subject for that.

[-] dinckelman@lemmy.world 24 points 3 months ago* (last edited 3 months ago)

Anything that allows people to blindly and effortlessly get results inherently makes them more stupid. Your brain is like any muscle. You need to repeatedly use it for it to work well

[-] DScratch@sh.itjust.works 13 points 3 months ago

I’ll bet people said the same thing when Intellisense started suggesting lines completions.

And when errors were highlighted in the code rather than console output.

And when high-level languages started appearing.

[-] dinckelman@lemmy.world 18 points 3 months ago

This really isn’t a good comparison at all. One gives you a list of choices you can make, and the other gives you a blind answer.

If seeing what argument types the function takes make me a worse engineer, so be it, I guess

[-] MajorHavoc@programming.dev 13 points 3 months ago

I’ll bet people said the same thing when Intellisense started suggesting lines completions.

They did.

And when errors were highlighted in the code rather than console output.

Yep.

And when high-level languages started appearing.

And yes.

That said, if you believed my mentors, we were barelling towards a 2025 in which nothing running on software ever really worked reliably.

So they may have been grumpy, but they were also right, on that point.

[-] vrighter@discuss.tchncs.de 7 points 3 months ago

I mean with the "move fast and break things" mentality of most companies nowadays, I'd say he was spot-on

[-] u_tamtam@programming.dev 8 points 3 months ago

I’ll bet people said the same thing when Intellisense started suggesting lines completions.

I'm sure many did, but I'm also pretty sure it's easy to draw a line between code assistance and LLM-infused code generation.

[-] leisesprecher@feddit.org 8 points 3 months ago

And when people started writing books instead of memorizing epic poems.

[-] JackGreenEarth@lemm.ee 2 points 3 months ago

And they may have been right. But getting code is usually the end result, not proving you're some better programmer. And useful tools may be used to help you with the aforementioned goal.

[-] refalo@programming.dev 12 points 3 months ago
[-] 0x0@programming.dev 9 points 3 months ago
[-] ArtVandelay@lemmy.world 3 points 3 months ago

I migrated about 2 weeks ago and couldn't be happier

[-] mox@lemmy.sdf.org 6 points 3 months ago
[-] groucho@lemmy.sdf.org 19 points 3 months ago

A thing that hallucinates uncompilable code but somehow convinces your boss it's a necessary tool.

[-] thingsiplay@beehaw.org 5 points 3 months ago

Copilot is a tool for programmers who don't want program.

[-] RiikkaTheIcePrincess@pawb.social 6 points 3 months ago

I'll never forget attending CS courses with a guy who got violently angry at having to write code. I assume he's either thrilled with Copilot or in prison for attacking somebody over its failure to reliably write all of his code for him.

[-] Kuinox@lemmy.world 4 points 3 months ago

An LLM that propose autocompletion for whole line/function.

[-] kureta@lemmy.ml 1 points 3 months ago
[-] Kuinox@lemmy.world 3 points 3 months ago

Of course, I don't understand why people think it's "unecessary".
Do they never do exploratory work and do thing they are uncomfortable with ?
It's a tool, if i'm in a codebase I know well, it's often pretty useless.
But I started writing some python, I'm a python noob, copilot is a gigantic productivity booster.

[-] Phegan@lemmy.world 6 points 3 months ago

As someone who thinks we are in an AI bubble about to burst, this article has "old man angry at the kids using new technology" vibes.

[-] lysdexic@programming.dev 0 points 3 months ago* (last edited 3 months ago)

I agree. Those who make bold claims like "AI is making programmers worse" neither has any first-hand experience with AI tools nor has any contact with how programmers are using them in their day-to-day business.

Let's think about this for a second: one feature of GitHub Copilot is the /explain command, which is used to put together a synthetic description of what a codebase does. Please someone tell me how a programmer gets worse at their job by having a tool that helps him understand any codebase anywhere.

load more comments (1 replies)
load more comments
view more: next ›
this post was submitted on 11 Sep 2024
71 points (76.7% liked)

Programming

17756 readers
543 users here now

Welcome to the main community in programming.dev! Feel free to post anything relating to programming here!

Cross posting is strongly encouraged in the instance. If you feel your post or another person's post makes sense in another community cross post into it.

Hope you enjoy the instance!

Rules

Rules

  • Follow the programming.dev instance rules
  • Keep content related to programming in some way
  • If you're posting long videos try to add in some form of tldr for those who don't want to watch videos

Wormhole

Follow the wormhole through a path of communities !webdev@programming.dev



founded 2 years ago
MODERATORS