In this video:
Research Scientist and Executive Director of the Scala Center at EPFL Heather Miller is an aficionado of the Scala language – after all, she got her PhD in it under creator Martin Odersky. When she started her educational journey, the language was in its early days, but about the time she was finishing up her doctoral work, the use of and desire for the language had advanced to a point where there was a need for someone to shepherd its rapid growth. (For example, developing an index of the known ecosystem of libraries that are published in the language for different versions.)
In her own words, “to make sure that things that were not super-attractive, [but] that needed to get done, would get done.” Maybe not cutting-edge stuff, but tools with a purpose – to help developers use the language more efficiently. That’s the focus of the Scala Center.
Beside the killer library index, other work the Center is doing includes
- Working with Lightbend to make improvements to sbt (the open source build tool, similar to Maven and Ant)
- Trying to make it possible for people to upgrade to version 3.0 (Dotty) when it comes out by developing migration tools
- Building Scastie, a tool that runs the language in a Docker image on a server, designed so you can run any Scala program with any library in your browser with no downloads or installs
- Redesigning the collections library
- See the first link in Resources for all the Center projects
Heather thinks that Scala was the better choice than Java to make Apache Spark a reality because the syntax is more concise and pattern matching is possible. (Although Java 8 has Lambda expressions which let you express instances of single-method classes more compactly.) She notes that Matei Zaharia said he needed the language to create Spark mostly because of its functional features.
On the should-I-learn-Scala issue, Heather thinks features like type inference, the automatic detection of the data type of an expression, one of the things that makes it so compact in the first place, is a great enticement to learning the language. There’s just less of it to learn and you won’t wear out your fingers typing code. And as for your future as a developer, she says that lots of industries have taken it into their IT departments – it’s gone “enterprise” – so for now, it’s a high-demand, low-supply situation for Scala developers.
Resources for you
- Check out all the nifty projects at the Center in detail
- Take a look inside of the upcoming version 3.0
- Watch how IBM and Lightbend are bringing cognitive tools to the language
- Explore the busy Java developer’s guide to Scala
- Learn about all the wonderful things you can do with Apache Spark
- Watch Scala and Java tutorials on developerWorks TV | Apache Spark too
- Create a Play application written in Scala and deploy it on Bluemix
- Use Spark-as-a-Service to publish a sample message in Scala to a sample Watson IoT Platform Service
- Run a Scala web app on Bluemix
- Try Bluemix for free
Follow Romeo as he tackles the most difficult challenges in data science.