It's a bit like saying you want to organise around the world tour to perfom as musician after hitting top charts and you're asking people what instrument to use.

Use all of them, in no time you'll stick with one that fits you.

Are you saying all of them are appropriate tools for the exact same set of problems, and their only differences are up to subjective taste?

I think we're saying that you may not be able to form a proper orchestra or even a good, successful band that can stay together for many years with only the one instrument that you like most. If you are building a monolithic app, you do have to choose one language to build it in. But you could choose wrong. Or the choices could merely isolate you from other talented musicians that you'd otherwise be happy to play with. If you learn to play their instrument, even just superficially; it will help you expand your understanding of the entire problem space if you did learn to play together.

(The problem space... of music theory. Or programming. Or "just writing our app" but in a way that generates reusable modules that are constrained to be small, well-defined in terms of types and functionality, and easy to test.) And learning to play the instruments all together in some kind of harmony, one that you can even type check, is just... chefs kiss

Some people think Ruby is the wrong choice, and others are building successful businesses on it as a foundation. Did they make this choice because of subjective tastes, or for practical reasons?

(And you can do this with Wasm, implement compilers in your Ruby framework in a way that's fairly unobtrusive, to take advantage of apps that were compiled in another language that isn't C... and likely to net you some type of benefits if not performance benefits – but the constraints are interesting. Did I mention that Wasm doesn't seem to have a string type, unless you count WASI?)

I mentioned Ruby because I'm giving a lightning talk on this topic this week Tuesday at GitOpsCon and a bigger talk at OSS Summit (one on Wednesday and another on Thursday...)

It's called "Exotic Runtime Targets"

Ruby and Wasm on Kubernetes and GitOps Delivery Pipelines

There's also "Microservices and WASM, Are We There Yet?"

(wazero contributor) In case you are interested, you can use Ruby (or any other interpreter compiled to wasm) with wazero. Our CLI shows what most of the runtimes can do, too.

$ echo salaboy | wazero run ruby-3.2.0.wasm -ne 'print "Hello "; print'

Hello salaboy

Of course getting and gems etc gets weird in wasm..

Anyway, thanks to VMware labs for publishing interpreter wasm builds, people can play around. https://github.com/vmware-labs/webassembly-language-runtimes...

Random, but enjoy.