I tried my hand at learning Swift as my go to langauge for server side / system programming. But, it is too immature (for eg: File read/write are not implemented on Linux) for “server side” programming as I would like. Instead I’m going to focus on becoming really, really good Scala over the course of 2017.

What does becoming really good at Scala mean?

  • Reading lots and lots of Scala code. pick up what’s going on and understand patterns
  • Not be afraid to look at advanced libraries (cats, typelevel-*, scalaz etc.,)
  • Be functionally very fluent in day-to-day Scala programming (eg: Play)
  • Start learning newer (for me) concepts like Reactive Programming, Akka etc.,

Books I have lined up to do this:

  • Functional programming in Scala by Paul Chiusano and Rúnar Bjarnason.
  • Scala in Action
  • Play for Scala
  • Akka in Action
  • Programming in Scala by Bill Venners, Lex Spoon, and Martin Odersky as desk refernce. Maybe I should even get the latest release!

Aside: I’ll be looking at D as my go-to scripting / algorithm practice language in places like Hackerrank etc.,