When I was starting functional programming with Scala, it was hard because of the paradigm but also all the syntax and different rules.
There are few things that helped me noticing, starting and persisting :
-
PlayFramework which is the Rails for scala. It was by far the most popular web scala framework. You would start with a
sbt new something
and you were up and running. For free I had auto reload, error overlay a la react and figwheel (which is very nice for beginners) and some nice templates with DB access examples etc … The nice thing is that I didn’t feel lost about what frameworks to choose. It was just way better and popular than others. -
Big companies were using Scala and talking about it - Twitter, LinkedIN etc … while developing open source tools using it.
-
Scala Frameworks had a lot of tractions outside of the Scala community: Play, Akka, Spark. The 2 first being now part of TypeSafe/Lightbend “official” stack
I think that those 3 points are necessary.
Hello worlds in repl are not sufficient but Hello world web stack with client side repl to quickly show you can interact with your live code is interesting.
Regarding point #3 I’m not sure what is currently popular outside of clojure community. Popular enough that other language would want to add wrapper around it.
When you have #1 and #3, something like https://developer.lightbend.com/start/ should be interesting.