- Recursion is pretty easy in Scala.
- It`s also easy to combine functional and more OO paradigms.
- The pattern matching is very nice.
- The Options are confusing but also kind of nice once you get used to them.
- The hybrid-ness of it is nice, because it lets you be creative in multiple ways, and is less restrictive than some other languages.
- The companion objects thing is a fairly reasonable way to deal with static/class methods, once you get used to it. We like how it explicitly enforces a singleton object with all the static methods.
- We don`t like the optional semicolons -- We want them explicit. Having them optional reminds us of Javascript. :(
- We don`t like the optional/implicit returns.
- Sequences, why they`re necessary, and how to use them properly.
- thingy* inputs (variable number of arguments).
- Maps.
- How to deal with immutable objects.
- DSL-building specific functionality.