Learning Scala Programming: Object-oriented programming meets functional reactive to create Scalable and Concurrent programs