Using LLM's for software development is cargo cult programming, automated.
The problem is not "incorrect" (syntactically) code. The problem is the developer trusting the AI to understand the nuance of the problem space, and to write the code the "right way".
As someone wise once said "writing the code was never the hard part".
A colleague recently used an LLM to complete some work, which required some concurrency - which they were clearly unfamiliar with. The LLM created a byzantine mess of multiple channels (which immediately deadlocked) when all that was needed was a single mutex.
A two minute human conversation would have turned up "you just need a mutex".
Even in the unlikely scenario that the AI generated solution worked, did the developer learn anything? No. Was the codebase made more or less maintainable? Definitely less.
I keep hearing that the LLM's will get better at understanding nuance and writing code that fits the problem space. It sounds an awful lot like how the crypto bros kept telling us that blockchain was the future of money and we'd soon all be rich.
The half-on-the-fence AI users tell me "I agree, but I just use it to autocomplete functions or write small things". I can do that myself - and I get the opportunity for my own brain to do it's own concurrency and interrupt me "actually, maybe this is not the right way to do this".
I looked at ArchiveBox and several similar projects a while ago, but realised I didn't want anything so complex. I just wanted bookmarks, with free-text content search so I could find something again based on more than just a title.
Emphasis on tiny system requirements and dependancies (single binary, no service dependencies). As a consequence the text indexing is very basic (basic HTML scrape). But it's working for me :-)
One of my earliest Go projects, a tool to upload screenshots automatically to discord continues to be popular, though I cringe at how much work the code still needs - earlier me had no idea what he was doing.
The problem is not "incorrect" (syntactically) code. The problem is the developer trusting the AI to understand the nuance of the problem space, and to write the code the "right way".
As someone wise once said "writing the code was never the hard part".
A colleague recently used an LLM to complete some work, which required some concurrency - which they were clearly unfamiliar with. The LLM created a byzantine mess of multiple channels (which immediately deadlocked) when all that was needed was a single mutex.
A two minute human conversation would have turned up "you just need a mutex".
Even in the unlikely scenario that the AI generated solution worked, did the developer learn anything? No. Was the codebase made more or less maintainable? Definitely less.
I keep hearing that the LLM's will get better at understanding nuance and writing code that fits the problem space. It sounds an awful lot like how the crypto bros kept telling us that blockchain was the future of money and we'd soon all be rich.
The half-on-the-fence AI users tell me "I agree, but I just use it to autocomplete functions or write small things". I can do that myself - and I get the opportunity for my own brain to do it's own concurrency and interrupt me "actually, maybe this is not the right way to do this".