Most importantly, imagine a timeline where no one has invented any programming language beyond assembly. I think an LLM would have difficulties implementing complex programs in assembly without a bunch of supporting libraries.
Sure, the LLM might be able to make the libraries eventually (will it actually know them all without ANY domain knowledge from a human?) but it would take a lot of time and money to do that. And really, you’re still creating libraries, the only question is if you share them or not.
Another thing is that human written code can be much better than what the AI would write. For example, saw it basically duplicate the same complex operation three slightly different ways instead of just abstracting that away in a function.
One reason might be that the model's knowledge cutoff means it doesn't know about recent changes. One way to address this is to first ask the model to search the internet and find suitable crates/libraries before it decides to write new code.
In practice, no, at least probably not. It's all about scope and context. Those libraries spent years fixing bugs and solving for corner cases. Even with AI, when you decide to implement those things yourself, you and your AI agents get to re-make the mistakes the library authors made. You assume the responsibility for long-solved problems.
AI can make the kind of software development you are imagining more possible, but still wildly impractical.