C# has had string interpolation for, what - nearly a decade, now? It arrived with C# v6, which was released in 2015.
Meanwhile Java just pulled their implementation out of the latest beta earlier this year because they couldn’t get it to work right.
Don’t know about you, but I think that Java is largely resting on its laurels as of late. That the only real reason to go for it is it’s third-party library system, and not much more.
C# is pretty good generally - I know it far better than any other and it pays my bills! - but it certainly has its weak points. Particularly around the newer features, a lot of them feel really rushed and just kind of shitty.
The one I hate the most is the whole “nullable” pattern. It’s a total mess. Having to mark up files as #nullable enable, having to mark methods with a bunch of attributes, and the way that it works differently if it’s a value type or a reference type, it’s just so half-baked.
If you spend some time with a more modern language like Rust or Swift then you’ll quickly start to notice C#’s weaknesses.
After close to two decades of programming, C# is still the best language I've used. While some of the newer features seem a bit weird, I'd say it's one of the few languages that has never got in the way and has just let me write code that made sense. Even with all the improvements Java has made over the years it's still nowhere near as good as what C# was like maybe 15 years ago.
The same goes for everyone's other "fav" language, Python. Ruby has been a better beginner scripting language than Python for many years, and while Rails is definitely a ghetto, as a language Ruby is great at teaching great programming fundamentals.