I've been thinking about learning a new language for some time and I am currently leaning toward to scala.
However, I have gotten an impression that scala is very hard to learn.
What makes people perceive scalar is hard to learn to professional developer who already have 2 -3 languages under their belt?
And how does your book address this issue?
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.
posted 8 months ago
Thanks for the great answer!
Yes, that would be hard to learn two things at once.
I do have OOP experience (C++) but I remember that it was very hard to get OOP concept at first when I was moving from C to C++.
Hence, I can see how hard to learn new language based on new programming paradigm.
I am a professional software developer of many years learning scala for new commercial project. Primarily I'm learning from Martin Odersky's book.
Whenever I veer onto the internet to find out why I should learn Scala the general theme is that it's a steep learning curve but worth it as X,Y,Z reveals itself.
I believe this is probably true and will preservere, however 14 chapters in and I spend most of my time viewing Scala as a command line application that runs in java. To date, and in the context of already knowing java, I would describe Scala as "unnecessary"