You mentioned fewer bugs, and indeed I feel that Scala is safer than Java (fewer bugs). Some reasons: 1) Scala has named parameters, so you can avoid bugs related to parameters placed in the wrong order (simply specify the parameter name, if you have more than one of the same type). And 2) when you code in Java, you'll have to read and write more code = higher bug risk. (But I wouldn't want to write super concise code in Scala, that could also mean higher bug risk.) And 3) Scala doesn't suffer from null pointer errors (assuming you use Option/Some/None). Java also has some Option class but I've gotten the impression that people tend not to use it.
Scala has the best collections package I've ever seen in any language so far.
Comments
You mentioned fewer bugs, and indeed I feel that Scala is safer than Java (fewer bugs). Some reasons: 1) Scala has named parameters, so you can avoid bugs related to parameters placed in the wrong order (simply specify the parameter name, if you have more than one of the same type). And 2) when you code in Java, you'll have to read and write more code = higher bug risk. (But I wouldn't want to write super concise code in Scala, that could also mean higher bug risk.) And 3) Scala doesn't suffer from null pointer errors (assuming you use Option/Some/None). Java also has some Option class but I've gotten the impression that people tend not to use it.
Scala has the best collections package I've ever seen in any language so far.