this post was submitted on 22 Dec 2024
519 points (95.8% liked)

Technology

60112 readers
2096 users here now

This is a most excellent place for technology news and articles.


Our Rules


  1. Follow the lemmy.world rules.
  2. Only tech related content.
  3. Be excellent to each another!
  4. Mod approved content bots can post up to 10 articles per day.
  5. Threads asking for personal tech support may be deleted.
  6. Politics threads may be removed.
  7. No memes allowed as posts, OK to post as comments.
  8. Only approved bots from the list below, to ask if your bot can be added please contact us.
  9. Check for duplicates before posting, duplicates may be removed

Approved Bots


founded 2 years ago
MODERATORS
you are viewing a single comment's thread
view the rest of the comments
[–] locuester@lemmy.zip 6 points 4 days ago (4 children)

Computer programming has radically changed. Huge help having llm auto complete and chat built in. IDEs like Cursor and Windsurf.

I’ve been a developer for 35 years. This is shaking it up as much as the internet did.

[–] horse_battery_staple@lemmy.world 2 points 18 hours ago (1 children)

@remindme@mstdn.social 1 year. Let me know about the seachange of new 10x transform based programmers that have automated me out of a job.

[–] remindme@mstdn.social 2 points 18 hours ago

@horse_battery_staple Ok, I will remind you on Friday Dec 26, 2025 at 7:49 AM PST.

[–] Nalivai@lemmy.world 35 points 4 days ago* (last edited 4 days ago) (3 children)

I quit my previous job in part because I couldn't deal with the influx of terrible, unreliable, dangerous, bloated, nonsensical, not even working code that was suddenly pushed into one of the projects I was working on. That project is now completely dead, they froze it on some arbitrary version.
When junior dev makes a mistake, you can explain it to them and they will not make it again. When they use llm to make a mistake, there is nothing to explain to anyone.
I compare this shake more to an earthquake than to anything positive you can associate with shaking.

[–] AA5B@lemmy.world 2 points 3 days ago

More business for me. As a DevOps guy, my job is to create automation to flag “ terrible, unreliable, dangerous, bloated, nonsensical, not even working code”

[–] InnerScientist@lemmy.world 2 points 4 days ago (1 children)

And so, the problem wasn't the ai/llm, it was the person who said "looks good" without even looking at the generated code, and then the person who read that pull request and said, again without reading the code, "lgtm".

If you have good policies then it doesn't matter how many bad practice's are used, it still won't be merged.

The only overhead is that you have to read all the requests but if it's an internal project then telling everyone to read and understand their code shouldn't be the issue.

[–] Nalivai@lemmy.world 12 points 3 days ago

The problem here is that a lot of the time looking for hidden problem is harder than writing good code from scratch. And you will always be at a danger that llm snuck some sneaky undefined behaviour past you. There is a whole plethora of standards, conventions, and good practices that help humans to avoid it, which llm can ignore at any random point.
So you're either not spending enough time on review or missing whole lot of bullshit. In my experience, in my field, right now, this review time is more time consuming and more painful than avoiding it in the first place.
Don't underestimate how degrading and energy sucking it is for a professional to spend most of the working time sitting through autogenerated garbage, and how inefficient it is.

[–] sudneo@lemm.ee 34 points 4 days ago (3 children)

I hardly see it changed to be honest. I work in the field too and I can imagine LLMs being good at producing decent boilerplate straight out of documentation, but nothing more complex than that.

I often use LLMs to work on my personal projects and - for example - often Claude or ChatGPT 4o spit out programs that don't compile, use inexistent functions, are bloated etc. Possibly for languages with more training (like Python) they do better, but I can't see it as a "radical change" and more like a well configured snippet plugin and auto complete feature.

LLMs can't count, can't analyze novel problems (by definition) and provide innovative solutions...why would they radically change programming?

[–] aleq@lemmy.world -1 points 3 days ago (1 children)

I hardly see it changed to be honest. I work in the field too and I can imagine LLMs being good at producing decent boilerplate straight out of documentation, but nothing more complex than that.

I think one of the top lists on advent of code this year is a cheater that fully automated the solutions using LLMs. Not sure which LLM though, I use LLMs quite a bit and ChatGPT 4o frequently tells me nonsense like "perhaps subtracting by zero is affecting your results" (issues I thought were already gone in GPT 4, but I guess not, Sonnet 3.5 does a bit better in this regard).

[–] sudneo@lemm.ee 2 points 3 days ago (1 children)

Maybe some postmortem analysis will be interesting. The AoC is also a context in which the domain is self-contained and there is probably a ton of training material on similar problems and tasks. I can imagine LLM might do decently there.

Also there is no big consequence if they don't and it's probably possible to bruteforce (which is how many programming tasks have been solved).

[–] aleq@lemmy.world 1 points 3 days ago (1 children)

I think you're spot on with LLMs being mostly trained on these kinds of tasks. Can't say I'm an expert in how to build a training set, but I imagine it's quite easy to do with these kinds of problems because it's easy to classify a solution as correct or incorrect. This is in contrast to larger problems which are less guided by algorithmic efficiency and more by sound design/architecture.

Still, I think it's quite impressive. You don't have to go very far back in time to have top of the line LLMs unable to solve these kinds of problems.

Also there is no big consequence if they don't and it's probably possible to bruteforce (which is how many programming tasks have been solved).

Usually with AoC part 1 is brute-forceable, but part 2 is not. Very often part 1 is to find the 100th number, and part 2 is to find the 1 000 000 000 000th number or something. Last year, out of curiosity, I had a brute-force solution for one problem that successfully completed on ~90% of the input. Solution was multi-threaded and running on a 16 core CPU for about 20 days before I gave up. But the LLMs this year (not sure if this was a problem last year) are in the top list of fastest users to solve the problems.

[–] sudneo@lemm.ee 2 points 3 days ago

Just to precise, when I said bruteforce I didn't imagine a bruteforce of the calculation, but a brute force of the code. LLMs don't really calculate either way, but what I mean is more: generate code -> try to run and see if tests work -> if it doesn't ask again/refine/etc. So essentially you are just asking code until what it spits out is correct (verifiable with tests you are given).

But yeah, few years ago this was not possible and I guess it was not due to the training data. Now the problem is that there is not much data left for training, and someone (Bloomberg?) reported that training chatGPT 5 will cost billions of dollars, and it looks like we might be near the peak of what this technology could offer (without any major problem being solved by it to offset the economical and environmental cost).

Just from today https://www.techspot.com/news/106068-openai-struggles-chatgpt-5-delays-rising-costs.html

[–] locuester@lemmy.zip -5 points 4 days ago

You’re missing it. Use Cursor or Windsurf. The autocomplete will help in so many tedious situations. It’s game changing.

[–] areyouevenreal@lemm.ee -5 points 4 days ago (1 children)

ChatGPT 4o isn't even the most advanced model, yet I have seen it do things you say it can't. Maybe work on your prompting.

[–] sudneo@lemm.ee 16 points 4 days ago (1 children)

That is my experience, it's generally quite decent for small and simple stuff (as I said, distillation of documentation). I use it for rust, where I am sure the training material was much smaller than other languages. It's not a matter a prompting though, it's not my prompt that makes it hallucinate functions that don't exist in libraries or make it write code that doesn't compile, it's a feature of the technology itself.

GPTs are statistical text generators after all, they don't "understand" the problem.

[–] areyouevenreal@lemm.ee -4 points 4 days ago (1 children)

Exactly this. Things have already changed and are changing as more and more people learn how and where to use these technologies. I have seen even teachers use this stuff who have limited grasp of technology in general.

[–] AA5B@lemmy.world 0 points 3 days ago

My kid’s teachers had what I thought was a fantastic approach - have the kids write an outline. Use an LLM to generate an essay from that outline, then critique the essay