Hi YJ Lee,
great question!
Scala combines two styles of programming that are very different: OOP vs FP.
Most of the people that try to learn Scala, they are also trying to learn FP at the same time -- and this makes things more difficult!
In my book we do not start talking about FP until we have fully reviewed the OOP side of Scala and you are fully comfortable with it - I do assume that you have some OOP experience, but no experience in FP.
Scala is extremely flexible and fun to work with.
The downside of this is that the same thing can be done in more than one way.
In Get Programming with Scala I teach you only extremely practical things -- if something is cool, but nobody uses it in their daily job because of their complexity, I am not gonna tell you about it.
My aim is not to show you everything there is to know about Scala, but to show you enough to be productive and to continue your learning path on more advanced resources if you wish to do so.
Finally, syntax is quite different from
Java -- most of the people approaching Scala have a Java background -- and it can be overwhelming at the beginning.
In the book, every time I introduce a new topic, I give you a syntax diagram to visually summarize what you have learned, so that you can come back to it later and remind yourself what the topic was all about.
Cheers,
Daniela