A "wow, that's a great start" to one could be a "damn there's an issue I need to fix with this" to another. To some, that great start really makes them more productive. To others that 80% solution slows them down.
For some reason, programmers just love to be zealots and run flamewars to promote their tool of choice. Probably because they genuinely experience it's fantastic for them, and the other guy's tool wasn't, and they want them to see the light, too.
I prefer to judge people on the quality of their output, not the tools they use to produce it. There's evidently great code being written with uEmacs (Linux, Git), and I assume that, all the way on the other end of the spectrum, there's probably great code being written with VSCode and Copilot.
Web server work in Go, Python, and front end work in JavaScript - it's pretty good. Only when I try to do something truly application specific that it starts to get tripped up.
Multi threading python work - not bad, but occasionally makes some mistakes in understanding scope or appropriate safe memory access, which can be show stopping.
Deep learning, computer vision work - it gets some common pytorch patterns down pat, and basic computer vision work that you'd typically find tutorials for but struggles on any unique task.
Reinforcement learning for simulated robotics environments - it really struggles to keep up.
ROS2 - fantastic for most of the framework code for robotics projects, really great and recommended for someone getting used to ROS.
C++ work - REALLY struggles with anything beyond basic stuff. I was working with threading the other day and turned it off as all of its suggestions would never compile let alone do anything sensible.
There are a few things that really help the AI to understand what you want to do, otherwise it might struggle and come up with not so good code.
Not to say it gets it right everytime, but definitely often enough for me not to even consider turning it off. The time save has been tremendous.
“Oh you couldn’t take a train to work? Must have been something you did, the Palantir is usually great and helps our society. It always works great for me and my friends.”
Absolutely. LLMs let you make more programming mistakes faster than any other invention with the possible exceptions of handguns and Tequila.
To be fair, it is also really good at spewing out industrial levels of boilerplate. As we all know, 99% of the effort in coding is the writing of code and the more boilerplate in your code base the better. /s
That "satisfaction" vanished pretty damn quickly, once I realised that I have often more work correcting the stuff so generated than I would have had writing it myself in the first place.
LLMs in programming absolutely have their uses, Lots of them actually, and I don't wanna miss them. But they are not "thinking ahead" of the code I write, not by a long shot.