Kind of, Java 20 and C# 11 have lots of interesting material for job interviews and pub quizzes that I bet random joe/jane developers will fail at.
I am mindly aware of them, because alongside C++, they have been my main tools for the past 30 years (rounding to the oldes one), and I surely would fail as well.
Copying and pasting code is equally do-able in both languages.
I find it very weird that anyone would think that any programming language is even remotely fine. Everything is a mess, there are terrible compromises to be made everywhere between expressivity, readability, build-time performance, run-time performance, safety, language community, etc etc. A language will be "fine" the day there's no compromise to be made anymore and it outclasses everything else before it on every metric relevant to shipping good software fast to end user while enjoying the process.
Fine is a synonym for "satisfactory" or "acceptable."
"Fine" in programming specifically, usually translates to "I can use it to solve my problem without the flaws in it inhibiting me from doing that" or "I can forget that I'm using the tool and just focus on solving the problem."
Many things in the world are "fine" by this definition. That doesn't necessarily mean they're all good, let alone perfect — but they're fine.
Not every language evolution is a cautionary tale. Java, C#, PHP, JS have grown a lot and are fine.
Rust’s learning curve is not from accidental overgrowth of complexity (e.g. it has two+ string types not because of legacy, but because it needs different kinds of ownership). Rust has editions that make its evolution less constrained by backward compatibility, “how are we going to teach this?” is a mandatory question for every language change, and Rust has exceptionally helpful compiler errors.
Rust has some tooling for managing supply chain risks - vetting dependencies, vulnerability scanning, vendoring, etc.
C++ doesn’t have any special security model or other solution that makes dependencies safe, only pain and annoyance that makes people avoid using dependencies. So it’s unclear what Rust could do better here (switch to autotools? ;)
Rust projects tend to split themselves into multiple crates, so “lots of dependencies” in Cargo isn’t as heavy and reckless as same number of C++-sized deps.
Rust has already broken out of being a niche language.
Naming things is hard. Rust has some less common features and needs to refer to them by some name. Sometimes it borrows terms from other languages (like enum instead of a sum type), but sometimes there isn’t a common word for everything.