This is a list of suggested concepts that a Scala developer should have a good understanding.

1 Language Concepts

  • for comprehension step by step
    • the bind concepts in pure functinal programming
    • map and flatmap
    • wrapper class -> case class
    • call sequence
    • the firs function in the for comprehension is called, then enter the flatMap of its result, other functions and the flatMap of theire results are called nestly
    • map is the last function called and the first returned
    • finally, the nested flatMap calls are returned.
  • don’t use null
  • don’t throw Exceptions
  • meaning of curly brace

2 build Concepts

  • scalac
  • sbt

3 Test Concepts