Last year our team had to decide which programming language to use for building a client library for smartphone apps to enable them to interact with a service we built. Lot's of cryptographiy and X.509 certificate processing was involved as well as json processing and TLS-secured client-server communication. The client library should be native code. It should provide an ABI accessible by many programming languages, especially Swift, Java, Kotlin and Dart. It should be available on all smartphone platforms in use. If possible it should be able to be used in desktop apps (Windows, macOS, Linux) as well.
We looked at modern languages like Rust or Go or Dart but eventually resorted to C/C++. Two main reasons: we could rely on C and C++ being there forever - we do not know the future of the modern languages - and its ecosystem provided us with all the cryptography we needed (by openssl), json processing and TLS support. And the C ABI is easy to integrate into other programming languages, C binding and parameter passing is supported as an ffi by literally all of them.
We do use Flutter/Dart to build some apps making use of that library. And we are able to deploy those apps not only to all smartphones but all desktops as well.
On the server side we use Java with the Spring Boot framework. It provides us with so many powerful elements we would lack by implementing a server using a more modern approach (I would prefer Go if that ecosystem provides me with all the parts I need for my server app, but most of the time it doesn't.).
So that is the advantage of "old" programming languages: maturity, future availability and the size of the ecosystem of libraries and frameworks to use. New programming languages are always in need to catch up there. Some may grow mature eventually. We'll see.