Menu Sidebar

Scala books

Here are some books that will help you in your journey in learning Scala, and more importantly slowly moving towards a more functional style of programming.

I would start of with “Programming in Scala” which is written by none other than Martin Odersky who designed Scala.



As a 2nd more advanced book, I would take a look at “Scala in Depth” which covers more advanced topics and details best practices, idioms, functional programming core concepts, type system and Scala’s collection library.




If you want need help with “thinking functional”, I would recommend “Functional Programming in Scala” as it does a great job of outlining how to go about transitioning your mindset to a more functional style.  This book has allot of examples that you can work through so these concepts sink in.



If you want a book that has less theory and more HOW TO’ish, I take a look at the Scala Cookbook:


Now if you want to learn how to use Scala with the Play framework, I would grab a copy of Play for Scala:


Unlike some other programming languages, I have to admit that learning Scala takes longer than usual.  If you are coming from a Java or C# background, you can normally learn a new language in fairly short order.  Scala on the other hand is a mix between a functional and OOP language and it takes times for certain concepts to sink in.

One important tip I would like to give is that reading Scala is like reading Math, if you don’t actually try it out you might trick yourself into thinking you actually understand the concepts.  The great thing is you can easily fire up a REPL and work through a program so don’t get lazy and just read without trying things out for yourself.

Keep in mind that learning Scala is a journey, and you can take things slowly at first.  Many people jump into Scala and simply write Java code but with Scala.   Writing Scala using Java idioms is perfectly fine, so long as you realize you should keep learning how to write Scala and transition yourself into a more functional approach.  In fact Martin write a nice piece on the various “Scala levels” of a Scala developer and how you should potentially go about learning.


Docker is the new black


I have been using docker on my VM’s lately (digital ocean) and it has been a pretty interesting ride so far.  I have used Puppet and chef in the past, and more recently I switched over too ansible because of its simplicity.  Docker takes things a step further by letting you build, ship and run your application inside of a container.

To get started I suggest you start off with a simple online tutorial here.


On Ubuntu you can quickly get docker up and running using the command:

curl -sSL | sudo sh

Here are some docker commands:

docker ps

docker logs <container_name>

docker stop <container_name>

docker version

docker help

docker ps with switches -l and -a.

docker run -d -P

docker run -d p port:port

docker rm

docker images

Toronto based Software Consultant – Ruby on Rails and Scala developer

Recent Comments