It's true that the Scala book does start off with a bunch of "Scala's type system has this great feature," which doesn't mean anything if you don't know a lot about type system theory (I don't). It might be best to start from this point instead.
It only needs a main class if you're going to run that file
In Python, you'd check if the filename is main inside that. In Scala, you'd have @main def helloWorld = println("Hello World!") or an object with a main method
Only one Scala file in your entire project needs a main class (in Python too you don't run every single module as the main module)
@user Why are both _s evaluating to the first argument in 0.to(_).sum/2+_? ATO I'm sure I've seen some anonymous functions with two arguments that use _ for both of them.