I have a related question: In a contest where all the code is generated by LLMs and not hand-coded anymore, does it still make sense to use high-level languages and other abstractions that were created for humans?
I believe so, with Rust being exhibit 1. Rust is known for finding rather a lot of bugs while compiling instead of during debugging. The quote you'll often see is: "If it compiles, it usually runs."
The Rust compiler enforces many code style conditions that you most probably want in your finished program... Type checking, only one thread writing to memory at a time to avoid race conditions, etc.
It is possible to imagine an AI version of Rust that takes this even further in the future.
Maybe not the ones created for humans, but high level languages, probably. More abstract languages ("high level" basically means more abstraction away from the underlying machine, with "low level" being closer to the machine) allow for compression relative to unabstracted languages.
LLMs are known to do worse the more code they have to go through. Therefore, using a high level language where it doesn't have to work with as much code is going to be far more effective.
The Rust compiler enforces many code style conditions that you most probably want in your finished program... Type checking, only one thread writing to memory at a time to avoid race conditions, etc.
It is possible to imagine an AI version of Rust that takes this even further in the future.