This year going with Erlang. Well, Elixir, as it's more 21st century with some nifty features.
Now Erlang (Elixir) - it's a niche language. It sucks as a general purpose language - not many libraries, it's slow when you have to do some raw string manipulation, parsing, etc. But in it's niche - horizontally scalable reliable services - it's the tits. Like... wow. Everything in its library and runtime was made to do its thing. It's 5 minutes to make scalable service. Which has auto restart and is just reliable. You wanna do something asynchronously? Return {:noreply}, spawn a process (they're basically free in real world usage), then return result from the process.
At the beginning of 2021 I've joined a project and they were doing this fad - serverless. After a day of onboarding I went "heyyyy, wait a minute - it's Erlang". Azure Function - Erlang's Supervisor - ensures your code, functions - Erlang's GenServer - are running and get called via some Azure Queue - Erlang's native messaging. Heh. What's old is new again. So, Java tries to copy Erlang with Akka, C# - with Orleans, and now cloud providers have their own shit - Azure Function or AWS Lambda. But a copy is a copy with it's limitations, I'm sticking and preaching the OG - Erlang/Elixir.
C# is a very close second. Still a way better Java with great design, which lets you just write code without thinking about memory allocations, stacks, how to do concurrency, etc; first class async support. Still the best general purpose language. Web services, desktop/mobile apps, runs in browser (blazor), can code games (unity). It was already plenty fast and enough fast for basically anything, and they still continue to work on performance -
https://devblogs.microsoft.com/dotne...ents-in-net-6/
Zig - honorable mention. It's simple, it does everything C does, but better (defer keyword? oh lawd, so good. error handling? sane). Truly C lang, but actually designed and had some thought put into it. Main dev creates some drama with questionable decisions, but overall - it's just better C. Unlike Rust, which... idfk what Rust is trying to be. Closer to the metal Java? Has fugly syntax to match Java, that's for sure.