7 ms·
Extremely excited with the release! I work at a fashion renting company and our backends are built on top of Scala stack. Contrary to popular belief, Scala is
by hszeeks 7y ago
Extremely excited with the release!
I work at a fashion renting company and our backends are built on top of Scala stack.
Contrary to popular belief, Scala is actually quite a simple language. Most of our engineers came from PHP or Python, or Ruby and all have expressed how type safety gave them great assurances that everything works if it compiles.
On top of that the behaviour of the language is very predictable! We almost never use debugger because we can predict quite successfully what went wrong in case of bugs.
Lagom was such a nice framework, coupled with Akka service discovery makes building Event Sourced application so simple.
- type0 7y agoTo me this is possibly the biggest attraction, Scala feels solidly build and still somehow manages to resemble the fun of using a scripting languages.
- stunt 7y agoYou mentioned PHP or Python, or Ruby devs. How was your experience on-boarding programmers with no Scala experience?
- hszeeks 7y agoIf you keep the Scala feature you use minimal, it should not get too complicated. First step was to learn SBT, which in itself is simple (building projects, dependencies, plugins). Later we have them do scala exercises (scala-exercises.org) to understand Scala basics, and the philosophy behind Scala, onboard on Framework (Play/Lagom). Then we move on to Slick, and then Future API, error handling with Try, for yield comprehension, map and flatMap, collections, and of course implicits. The rest would be comments on pull request.
- vram22 7y ago>Contrary to popular belief, Scala is actually quite a simple language. Interesting. Then why do some people say it is not? Anecdotal, mind you, and don't have links right now.
- hszeeks 7y agoyou are right, should have said "i think it is a simple language". <edit> what makes me think it is a simple language (especially if you are writing microservices): - class is a class, and you don't really need to explain the modifier - object is just an object, like if a class is instantiated, and it is a singleton - trait gives you mixin, cake pattern / self type - Future makes async programming simple - for yield -> to avoid nested map / flatMap - val for everything, instead of final static - case class, such a life saver to build immutable data objects Some libraries like Slick adds up complexity but the benefit i think far outweigh the difficulty of learning it.
- vram22 7y agoThanks for the answer. I had not heard of the cake pattern, will check it out.