So far no AI written any substantial amount of not-completely-trivial code that I'd accept. And amount of time tweaking its output exceeds amount of time I'd spend writing that code.
So far no AI written any substantial amount of not-completely-trivial code that I'd accept. And amount of time tweaking its output exceeds amount of time I'd spend writing that code.
Programming is a precise work. Every bit matters. One flipped bit could change things drastically.
Current AI works in a kind of imprecise environment. What astonishes me is that GitHub Copilot can't perform arithmetic. For example I just wrote:
// 23.56 * 4 / 3 = 31.413333333333334
// 1280 / 16 * 155 = 24800
Text after `=` was completed by Copilot. You can check with calculator that first result is correct and second result is not correct.I've encountered similar issues with ChatGPT. It tries to work as calculator but it's not reliable.
I do understand that this particular issue could be solved by adding some special handling into that AI. But this highlights general issue: this AI is imprecise.
And this is major discrepancy between current generation of AI and programming.
Drawing images imprecisely is fine. Few weird pixels won't make it or break it. 6 fingers are weird but kind of acceptable. Writing selling texts imprecisely is fine. Writing software programs imprecisely is not fine.
I think that we miss some kind of absolutely precise AI. Built on logic engine. Which will never do false statement. Which will never make false calculation. But yet more powerful than static algorithms.
With that kind of AI we could invent new programming languages which would be extra-high-level yet this AI will be able to optimize those to very fast machine code. That could change programming drastically.
With regards to coding, AI assistants could make an excellent intellisense. That would also be a big help. I don't need the tool writing huge swaths of the code for it to be useful.