Learning a new programming language has been on my list quite sometime and fortunately, I got a chance to try out Scala for one of the projects at work a month back. So, its been a month learning Scala now. Though its too early to form an opinion about it, but I must say, it has NOT been an easy language to learn so far. And I think one of the reasons for that is -- the language is way too expressive with pretty much all the constructs in the basket and that makes it a very powerful tool but a difficult one to master. So one advice, don’t get disappointed if you feel lost and be patient while you are learning it because it is going to take a bit longer than you expected, so hang in there!!!
As I am on this journey, I am discovering some useful resources everyday, so I thought of documenting them in a blog post. I plan to maintain this blog post as a living document.
If you are looking for a quick introduction to the language, I would recommend “Scala for Impatient” by Cay S. Horstmann. It is well written book with right balance of content explaining key concepts and their application. But if you are in for a long and patient read, “Programming in Scala” by Martin Odersky is a good read which explains the key concepts on a much more fundamental and detailed level. I am using both the books and cross reference depending upon the details I want to dive in to a particular topic. I am yet to explore other books, but these two makes a good start. The good thing is that both of them are available in kindle version.
Blog series called “The Neophyte’s Guide to Scala” by Daniel Westheide