3 ms·
If you can afford the JVM (hardware wise and startup time wise), I think Scala wins hands down. Now, people will say "Scala will be better for it's type system
by runT1ME 12y ago
If you can afford the JVM (hardware wise and startup time wise), I think Scala wins hands down.
Now, people will say "Scala will be better for it's type system and correctness, and Go will be better for performance/network applications". But they'd be wrong.
You can check out here:
https://www.techempower.com/benchmarks/ https://www.techempower.com/benchmarks/
If you compare scala (scalatra in this instance) vs. Go for multiple queries, you can see Scala's more performant than Go. Part of this is because the Go GC is still new, while the JVM has had a lot of time to tweak things. For network apps, Scala plays quite nice with Netty, which is the JVM's non blocking asynchronous network framework.
So, I think you should learn scala if you want to stick with server side code. However, some reasons you may not want to pick scala:
1. You'll be more productive quicker with Go. I think C# folks can be productive with Scala right away, but from python it will take you some learning.
2. Tooling. Scala's tooling is sub par compared to some other languages, so there's definitely a period of learning the language where you don't know enough to get a productivity gain, but the tools can still frustrate you.
3. JVM startup time. I imagine Go is always the better choice for anything client side.