I have been learning Scala. Some time ago, I doubted if it’s worth it as the learning curve is quite steep. But today I read the first chapter of my newly ordered book, titled Advanced Analytics Using Spark, a tool written in Scala for handling big data analytics, I reassured that I bet on the right thing.
I believe it will be the most common programming language the coming generation in this big data era because:
- It runs on JVM: a lot of libraries have been maintained as Java packages. Why do we discard Java if everything is getting more perfect from time to time? It is the same reason why we do not discard our old Fortran codes in scientific computing, but to wrap them in MATLAB or Python.
- It is an object-oriented: we learned about modularization and design patterns all the time. It keeps the strength of Java.
- It is functional: analytics involve functions. We want to handle functions flexibly. It shortens our codes, and makes our codes more readable (provided that we write appropriately). Mathematical manipulation is easier when we can handle operations with fewer codes. Lambda expressions are available.
- Interactive programming is available: what makes R and Python great is its availability to program interactively, especially handling data and mathematical models. And yes, this is also available in Scala.
- Parallel computing comes naturally: with actors or additional packages like Spark, Scala is well suited for scalable huge data computing. This is something that R and Python lack.
- Sandy Ryza, Uri Laserson, Sean Owen, Josh Wills, Advanced Analytics with Spark, O’Reilly (April 2015)
- Dean Wampler, Alex Payne, Programming Scala, O’Reilly (December 2014)
- Coursera course: Functional Programming Principles in Scala by Martin Odersky
- Leslie Steven-Huffman, 4 Interview Questions for Scala Developers, Dice Insights. (September 2014)