My friend tells me the primary use case for go are microservices no more than one page worth of code deployed in kubernetes.
I think that's correct. Anything larger is just masochism.
There will be a revolt at some point, the question will be to what? Rust? Probably not. Maybe a C++ resurgence...
Why would anybody choose C++ over Rust in 2025? The biggest (valid) criticisms against Rust are that it is difficult to learn and use, but C++ is like 1000 times harder. When people say Rust is complicated they’re comparing it to modern GCed languages, not to C++.
1. There is a lot more experienced C++ devs around.
2. There are a lot more libraries that are readily usable from C++ but would need to be wrapped to use in Rust.
3. The tooling (IDEs etc) around C++ is more mature.
I actually disagree with this specific take. I do agree that iota is an unnecessary bit of cleverness (especially with that name) but I’d much rather a langage have nothing than the pile of lies and garbage that are C enums. At least then it’s not pretending.
The only godsend of C is that code written in the 1970's can still be compiled today -- half a century later. You can write code in your 20's in C and still be assured it will still work a half century later in your 70s. (as long as you don't use system libraries which might change.... etc.)
A lot of people complain about Rust compile times. But honestly, I'd rather work in a language that is trying to solve complexity rather than push it off on to the user.
As I wrote at the time on Lambda The Ultimate back in 2012,
There’s a very high probability that something like Cockroach would use C++ if Go had never existed, so Rob Pike was sort of right, if you squint. On the other hand, if Cockroach were started today it would probably be written in Rust.