Poll: Rubyists, what server-side language should I learn in 2017?
What are you using to complement Ruby in production?
What are you using to complement Ruby in production?
I've used other languages mentioned by others here in projects (Go, Clojure, Haskell, Rust) and although many are nice, for instance Rust has many excellent features and a sophisticated build and package management tool to go along with it, and Go can be somewhat useful if you want a UTF8-friendly concurrent and GC'd C, I still don't think they're good fits for the majority of server-side apps.
More seriously: what are your goals in learning a new language? If it's new skills or ways of thinking, go for something that's quite different from Ruby in some educational way. Clojure, Elixir or Haskell will teach you rather more than Go will, each in their own way.
* All three are functional, so no mutability by default.
* Clojure has software transactional memory (as does Haskell, I believe?), and it's a Lisp so you can create macros and customize the language.
* Haskell has a very powerful type system.
* Elixir use Erlang's agent-based runtime and functionality, which e.g. lets you do hotswapped code upgrades on a running server.
Go has a stupid type system (e.g. Java's is much better) and a concurrency system that doesn't help with any of the hard problems in concurrency. On the other hand, Go might be a more marketable skill than any of the ones I recommended for educational purposes.
So it depends on your goals.
More ideas on choosing which technology to learn more broadly: https://codewithoutrules.com/2016/04/27/which-technology/
I like Clojure more, but Javascript seems more versatile and is a more employable skill.
The biggest complaint I have is about the error messages (and the laaaarge stack trace), but I've heard they are working on it.