A reasonable rate at which to consider a new primary programming language for non-niche, non-throwaway production software is once every 15 years. Adventurous, risk-seeking teams can try for 10, but that's pushing it.

If you find yourself searching for a replacement language more frequently, you should stop, take a long look in the mirror and ask yourself:

1. Something has clearly gone wrong last time, since you're looking for a replacement so soon; are you confident of your language-picking ability?

2. Are you sure your goal is to do what's best for the software and its long-term maintenance, or is there some other consideration here?

What’s your take on older languages gaining new life in production because of ecosystem improvements? I’m thinking of Python, which for most of its 34 year history wasn’t always a go-to choice, but nowadays its ecosystem is being scaled with Rust and C++ libraries and tooling. I’ve noticed a similar trend in JavaScript, where Go and Rust are improving bundlers, type-checkers, etc. The way we deploy our software has also changed dramatically with Kubernetes, code running at the edge (thinking of Cloudflare Workers, AWS Lambda).

Python is doing very well, and the really good thing about established languages is that their pros and cons are known. Not many people would choose Python to write a high-performance server or a program that's expected to grow to a million lines or so, and if they do, they have no one but themselves to blame. With newer or less popular languages, you might not know what you're really getting yourself into, and if, five or seven years in, you end up not where you wanted, well, you also have no one but yourself to blame.