Looking at Microsoft's decades plus collection of security fixes, it was shown that ~70% of errors were related to memory mismanagement. Rust essentially nullified that category of errors and it was cheaper than producing LLMs.
Fuzzing was cheaper than producing LLMs.
Deterministic simulation testing (e.g. Antithesis) was cheaper than producing LLMs.
Formal verification was cheaper than producing LLMs
CHERIoT is cheaper than producing LLMs.
Even supercompiling was cheaper than producing LLMs.
And we have all this type/mutate/temporal/dataflow information in new languages/compilers etc... to prove we don't run into entire categories of errors.
Those hardware, software, theoretic dataflow models are cheaper than producing LLMs.
Put them all together and you have a verified secure platform to build from, and they'd still together be cheaper than LLMs.
And the alternative reality that received the funding that LLMs received in ours must be looking at us, and our code, the same way that we today look at code from the 70s.
It's fair to say that producing LLMs past just translating one spoken language to another spoken language has been a misallocation of resources.
> Tooling that prevents the bugs in the first place is effectively free once it has already been made.
Surely you understand that such tooling is basically impossible to create and even if it was impossible it would be so horrendously expensive and hard to implement that AI would actually turn out to be cheaper. Under the false assumption that such tools could be produced you are right, but that assumption is absurd.