Languages I've considered: Java, Kotlin, Go, Node, Python, Rust I went with Scala because: - can benefit from JVM ecosystem, ita libraries and optimizations - has some functional programming niceties, but not as forced as strong FP languages like Haskell. Still brings in some OOP. - not as niche as something like Rust But I guess I am worried that it is not a very popular language. Might have less stack overflow answers and maybe harder to hire devs in the future? Should I go with Java instead?
Use one of the popular and widely used languages. It's hard to find good developers if you use Scala unless you pay $400k+ Telling you based on my experience looking for Scala developers for one of my clients. Just don't do it. There are tons of Java developers so stick to that.
Is hiring Scala devs hard even if you're a small company?
It is 2x harder if you are a small company. There is absolutely no supply.
Just use whatever you know. Shopify is on ruby and rails, AWS is 90% java, twitter is mostly rails and scala. No one cares what you're using unless it's missing a ton of what you need e.g. you'll need python for SOTA ML, or c++ for AAA games.
What about job market? Would it be harder to hire devs to work on Scala?
Yes, very very hard
Java for ease of hiring. Go or Rust for allure.
Use whatever you are best at. Get your prototype first, then get funding and hire people to rewrite if necessary
I don't know Scala at all. I thought it would be a good opportunity to learn a new language. I've only worked with node and go.
Just use Java if you're already comfortable with it, it will probably outlive everything else anyway. You can also interop with pretty much everything else should you have a specific need for Go, Kotlin etc. You'll spend less time trying to fit a shiny/opinionated/whatever-tech-religion language to your use case and more time just getting things done with tried and true solutions.
Isn't Java opinionated as well ?
"Should I go with Java instead?" It doesn't even matter. You can mix Scala and Java classes in the same project (I've done this with maven, I don't know about SBT because I don't use it.) So writing a Scala class in your project doesn't lock you in to Scala. It literally does not matter.
This
You should go with whatever you know best
>ecosystem This alone is a reason to choose a JVM language. More mature than the mature porn on PH
Should have used Rust