11 reasons why I’ve chosen Scala

As you probably know in the office I am a PHP developer. Last few month I was looking for second language which can give me fun and profit. It took time, but I think now I know that it is Scala.

A little history. Few moths ago I started to learn Ruby and Rails. It was fun, but I’ve started to feel lonely and afraid in code without interfaces, type hinting over interface/class and DI Container. It was also boring after some time – I was doing same thing typing same structures only words was different.

After that my thinking was shifted to Functional Programming. Quite hot topic on HackerNews and in community. After some research I tried Clojure and I knew Lisp syntax is not my thing ;) But after that I knew that FP is the choice.

So Scala it is.

  1. Scala can be functional as much as Object Oriented – so when learning new things I fees safe with good old objects
  2. It’s statically typed. I like this and I’m a bit sad I can’t do this in PHP ;)
  3. It takes a lot from Java so when doing Scala I learn a bit about another environment.
  4. It’s no yet another scripting language for web development …
  5. … but I can do Web
  6. I can finally get out of my thread and do something parallel ;)
  7. Play Framework
  8. Akka
  9. (Play) Non-blocking IO operations without JavaScript – IMHO real (and much better) alternative for NodeJS
  10. LinkedIn and Twitter are using Scala/Play on production
  11. Good community support and courses on Coursera 1, 2

Now I’m doing simple scripts, I’m watching presentations on YouTube and I’m working with “Programming with Scala” book. It’s fun and FP is really great to shift your thinking about programming to other level.