Scala Future

2 февраля 2016

Some time ago I had a chance to work with Scala. It is really refreshing after Java. I’ve switched to Java from Python, and it still feels like you need to write a lot of code to do simple things. So when I’ve heard that Martin Odersky himself is going to present the future of Scala on the meetup 7 minutes walk from my office, it was a no-brainer for me to go.

Some key takeaways are:

  • Scala grew in popularity a lot over last few years, which is great.
  • In mid-2016 2.12 release is planned. It will be optimized for Java 8 to run faster.
  • IMG_3443

  • After 2016: Scala 2.13 will be focused on the libraries.
    1. The plan is to revamp collections to make them easier to use, make them more in-line with Spark, and provide better lazy collections (views).
    2. Another idea is to split the Core and Platform libs for a better modularity.
    3. Finally, there is an initiative to build Scala on LLVM.
  • DOT calculus: a proven foundation for the language. It is possible now to make and prove formally the language statements.
  • IMG_3445

  • Dotty is the new Scala compiler to be built on DOT. So far dotty is twice smaller and at the same time twice faster than the current compiler (even without optimizations).
  • IMG_3446

  • Language changes:
    IMG_3447

    1. Trait parameters (basically, abstract classes will stay only for Java interoperability).
    2. Early definitions will be removed.
    3. Intersection classes (union types to be a lightweight alternative to Either): eliminated least upper bound class explosion.
  • Scala center will be the foundation for Scala development.

Sounds pretty exciting.