I do not remember the podcast episode where the guest mentioned something that stuck with me: JVM is the single piece of software that has been so thoroughly engineered. Exaggeration aside, the guest was mostly right. We deploy tons of stuff that runs on JVM and we have to turn a multitude of knobs (usually by copy-pasting from SO/SF) until it somehow works. That’s why I learned Groovy. To be able to write 10 lines of code that would run on the JVM.
Erlang’s BEAM is another platform that needs to be mentioned. It still does not have the adoption it should given that we now run distributed systems all the time and need to orchestrate stuff. We prefer to hit our hammers on Kubernetes instead. Maybe this is because of the Prolog-like feeling of Erlang. That’s why Elixir has been in my bucket list. I’ve not written a single line of code yet.
Golang is the obvious suspect when you’re paid to run stuff on Kubernetes. The combination is like C and Unix: Go and Kubernetes. There’s nothing more to add here.
LLVM is other thing to look into. It seems to be the compiler backend, especially when you’re not writing a compiler of your own. Guess what? Julia is the thing I’m looking into. At a point in time, you’re going to need something different than Python and Pandas or other combination. My bet is Julia. I have written 10 lines of code in it :)
Anything more exotic? Well, as I am approaching 50, I’m thinking of visiting APL. But not without a project at hand.
I could have invested all this time and learn a single language instead: C++