Intro to Scala - raisercostin/software-wiki GitHub Wiki
Environment
Scala uses the same environment as java (jvm) but adds additional tools on top, sbt among them.
Learning
Beginner
- https://twitter.github.io/scala_school/index.html
- Effective Scala from twitter - https://twitter.github.io/effectivescala/
- Scala Tour - https://docs.scala-lang.org/tour/tour-of-scala.html
- Scala Overviews - https://docs.scala-lang.org/overviews/index.html
Advanced & Expert
- types
- The Neophyte's Guide to Scala - http://danielwestheide.com/scala/neophytes.html
- Part 1: Extractors
- Part 2: Extracting Sequences
- Part 3: Patterns Everywhere
- Part 4: Pattern Matching Anonymous Functions
- Part 5: The Option type
- Part 6: Error handling with Try
- Part 7: The Either type
- Part 8: Welcome to the Future
- Part 9: Promises and Futures in practice
- Part 10: Staying DRY with higher-order functions
- Part 11: Currying and partially applied functions
- Part 12: Type classes
- Part 13: Path-dependent types
- Part 14: The Actor approach to concurrency
- Part 15: Dealing with Failure in Actor Systems
- Part 16: Where to go from here
Resources
- against scala
- Using Scala Will Make You Less Productive - https://grundlefleck.github.io/2013/06/23/using-scala-will-make-you-less-productive.html and reaction at https://news.ycombinator.com/item?id=7458588
- scala vs kotlin - https://www.codementor.io/jessicathornsby/kotlin-vs-scala-what-should-i-choose-instead-of-java-bwn9axvr8?utm_content=posts&utm_source=sendgrid&utm_medium=email&utm_term=blog-bwn9axvr8&utm_campaign=newsletter20170920