Maybe a slightly unconventional answer, but F# is quite nice.
As a language, the syntax is pragmatic and approachable like Ruby, but the VM scales super well since it's Actor model provides concurrency by default.
There are even projects working to enable GPU-accelerated numerical computations (Elixir Nx) and Jupiter Notebook style collaboration and code sharing.
If you're primary goal is to learn something fun that's also great for getting actual work done, you'll probably really like Elixir.
My recommended introduction would be installing it, and running through their official guide from the top:
Key points:
- Most respondents are junior-mid developers.
- Clojure was written by an experienced developer (Rich Hickey) and is adopted mostly by experienced developers.
- Clojure is not beginner-friendly, however it is extremely pragmatical.
- The appreciation of pragmatism over perfectionism is an acquired taste, which takes time and experience to develop.
- It is remarkable how the love for Clojure came out despite its user base being so under-represented.
https://jessewarden.com/2021/01/in-search-of-the-best-functi...
F# in particular because of the established ecosystem and possibility to fall back to OOP if you need it, since it is multi-paradigm.
«JavaScript to ReScript» where he evaluates a lot of FP languages: https://youtu.be/dFHj1d9FG8M
NB: He’s all about static types though.
I have no functional experience apart from dealing with similar, toned down concepts in JavaScript.
I was considering Clojure or Elixir depending on tooling, ecosystem, market worth and most importantly, what can it teach me.
The reason I got inclined to Elixir was to learn Phoenix/LiveView. The reason for Clojure was it's very much adored here and it seems a good starting language for FP.
Rust is in my list but maybe sometime later this year.