Rust is the main programming language I use, as it is the language I have used that meets most of my values. Stability is a core deliverable, and has been since version 1.0 released in 2015. It also allows for correctness by default, by having immutable variables by default, pattern matching, algebraic data types, and a borrow checker, which prevents many concurrency and memory safety bugs. As well, it is easy to deploy, as binaries are statically linked (no need for a VM to go along with the compiled code) and maintainable, as the compiler assists in enforcing invariants in code.
There is also no need to worry about stagnation like in C, where only backwards compatible changes can be considered, or stability at the cost of performance, as in C++. Rust allows for backwards compatible changes through the ecosystem using editions, which allows the language to evolve yet still compile old code alongside new versions of the code. In C and C++, because of ABI constraints, backwards incompatible changes are generally rejected, even in the case where performance could be improved or the language could be simplified. Because Rust has no stable ABI, it is able to optimize the layout of code, as long as it does not break its API. Even if there’s an API break, that can be handled in an edition, so people who upgrade editions can opt-in to performance or correctness updates in the standard library.
Rust has a mature ecosystem with many libraries, such as regex, serde, and web libraries like axum, and an async runtime, like tokio. These are a one liner to include in a project, and greatly aid in writing code that doesn’t compromise on performance, correctness, and maintainability.
Chosen option: Rust, as it best meets all of the criteria above.