5 ms·
Possible downward pressure on code quality, but maybe it's partly because more people are getting involved in programming with coding assistance? That could be
by naasking 3y ago
Possible downward pressure on code quality, but maybe it's partly because more people are getting involved in programming with coding assistance? That could be ok if there's more progress overall.
- tussa 3y agoWould it? What does 1% reduction in code quality translate to in terms of delivery time and profits? I don't know. But I'm pretty sure 50% reduction results in project failure and company bankruptcy.
- lkbm 3y agoDepends where we're seeing this. I worked as a high school bureaucrat for several years, and through some simple scripts, I was able to make some tedious data entry tasks vastly faster. It was ugly, hacked together code, with lots of hardcoded values I had to update each semester, but it worked and was way better than doing it all by hand. Low quality code is worse than good quality code, but often better than manual labor. I want my web browser and my bank to use high quality code, but I want semi-technical people who would otherwise do everything manually to be able to automate tedious portions of their jobs. (The caveat, of course, being that a buggy script can screw up the thing the thing it's automating must faster than a manual process as well.)
- hedora 3y agoThe study shows a doubling in the rate at which tech debt code is produced and checked into the repo. Anecdotally, as a principal engineer, I’ve definitely noticed that new senior engineers on the team that say they are using chatgpt/copilot produce unprecedentedly bad code at unprecedented rates. It takes me 2-3x longer to unwind such crap than it would for me to write it from scratch. As we grow the team, this will definitely put us out of business unless we find a way to fix it. Currently, we’re hoping the AI assisted engineers will get better at unborking code before merging it, but that’s a harder task than RTFM or going to stack overflow to copy-paste.
- jerf 3y agoI don't have great English words for this, but the biggest concern for me with LLMs is that of all the text generation algorithms I've ever seen, they are just fantastic at producing output whose plausibility to the human mind greatly exceeds its actual quality, the difficulty of concretely measuring either of those values notwithstanding. Note I'm not even strictly speaking criticizing the quality of the output per se. It is also a big jump over any previous technology and very impressive in its own way. It is, nevertheless, quite dangerous because the jump in the human-perceived plausibility is much larger than the quality improvement. Whereas earlier techs were obviously wrong to a human reader, in the case of code generation so obviously wrong that we never even considered using them, LLMs are extremely good at hiding the errors in the parts of the code that we are cognitively most inclined to overlook. This also has the effect of making it bizarrely difficult code to fix. How it does this I do not know. A fascinating research question for some ambitious cognitive scientist. But the signal is very strong and I don't need to wait for a paper to come out to see it. I do not think this is fundamental to AI. As I like to remind people, LLMs are not the whole of AI. They're just one technique, and one that partially for the very reason I discuss in this post, one I expect to eventually become a part of a larger system that can fix this problem at some higher level. I expect people to someday look back and laugh at us for thinking that LLMs could be used for all the things we think they can be used for. But the reasons they will be laughing are the very experience we're gathering now, and there's no skipping that phase.
- qrian 3y agoI have heard 'bullshitting' as a term for this. Be underhandedly deceptive that is. But I do have to say a lot of humans also bullshit throught their works and get away with it, so I don't know if this problems is fixable.
- tomrod 3y agohttps://en.wikipedia.org/wiki/Chinese_room https://en.wikipedia.org/wiki/Chinese_room
- rabuse 3y agoI was going to ask, why aren't they running the code through unit tests if they're committing such shit code? Does it pass the tests, or is it just inefficient code?
- jcutrell 3y agoKinda have to qualify "quality" by varied standards. Is it good enough for what the author needs? Then what matter is it that some measure of quality is not hit?
- AlwaysRock 3y agoDepends a lot on the type of code. Front end code? Almost any website has some js/css/html errors on it and most of the time its not that big a deal. Backend bank routing code? Pretty important to get right. From what I've seen, many early career engineers are the ones using code assist tools. Many early career engineers are often placed on lower stakes front end focused teams as well. This is mostly anecdotal data from non-traditional cs background engs that I know.
- jprete 3y agoThat's possible, but I don't think that would be a positive development either. Code isn't flexible or self-correcting, if you make bad code it will just break by surprise. If the only way someone can code is with LLM assistance then they won't even know what went wrong when the code breaks or takes forever or doesn't handle real corner cases. That said, I've done no LLM coding and don't have a feel for how it goes wrong.
- naasking 3y ago> Code isn't flexible or self-correcting Code isn't, yes, but LLMs are. That's part of the key here, coding can in some sense now be done at the prompt level along with an acceptance test suite, so rather than coding solution and test suite, you can hypothetically just write the test suite and have the LLM generated the code part.
- jprete 3y agoThat doesn't help, coding newbies can't be expected to write comprehensive unit tests to keep an LLM's implementation on the rails, and the LLM flexibility doesn't stretch all the way into deployment unless it is the actual component being deployed.
- naasking 3y ago> That doesn't help, coding newbies can't be expected to write comprehensive unit tests to keep an LLM's implementation on the rails Of course it helps, writing acceptance tests based on a spec is a lot easier than writing an implementation that passes those tests.
- nicup12345689 3y agoWhat is your definition of progress?
- deleted 3y ago[deleted]
- naasking 3y agoGreater quantity of useful open source code.