Leveraging Scala's Typesystem for Better Code
Ofer Ron is a senior data scientist at LivePerson. He is the tech lead for LivePerson's research group which is responsible for designing and implementing various machine learning engines underlying LivePerson's products.
Ofer has been working with Scala for the past three years, both for computationally intensive tasks and for big data processing, using Scalding over Hadoop.
He would never voluntarily go back to writing in Java.
11:30 - 12:20 "Extra Spicy"
Scala's type system is extremely powerful (actually, it's Turing complete). By understanding the tight interplay between implicit conversions and the type system, we can write very concise, yet generic and powerful code.
For example, while in Java collecting all int values both from Map<String,List<Integer>> and Map<String,Map<String,Integer>> requires two separate functions or reflection based code which isn't type safe, in Scala it is quite easy to write a single piece of type safe code to accomplish this for arbitrary nestings of Map and List.
In this talk we will show how to write Scala code able to leverage the information given by the type signatures, both for better APIs and for writing less code.