4 ms·
A lot of work in 2.11 has gone in stabilizing the compiler (aka bug fixing) and the backend (the JVM bytecode generator). Unfortunately this is not very visible
by _sunshine_ 11y ago
A lot of work in 2.11 has gone in stabilizing the compiler (aka bug fixing) and the backend (the JVM bytecode generator). Unfortunately this is not very visible work, but it had to be done to maintain compatibility with Java 8 lambdas.
As for the new things, they are mainly library-based and compiler plugins, so the scalac compiler remains stable, and new features are self-supporting. Some examples:
* Scala.js (http://www.scala-js.org/ http://www.scala-js.org/)
* Scala.meta (https://github.com/scalameta/scalameta https://github.com/scalameta/scalameta)
* Pickers and spores (https://speakerdeck.com/heathermiller/on-pickles-and-spores-improving-support-for-distributed-programming-in-scala https://speakerdeck.com/heathermiller/on-pickles-and-spores-...)
* Scala offheap (https://github.com/densh/scala-offheap https://github.com/densh/scala-offheap)
* RRBVector (https://github.com/nicolasstucki/scala-rrb-vector https://github.com/nicolasstucki/scala-rrb-vector)
* ScalaBlitz (https://scala-blitz.github.io/ https://scala-blitz.github.io/)
* Miniboxing (http://scala-miniboxing.org http://scala-miniboxing.org)
Also, I should mention the theoretical work on the DOT type system, which is a sound and more expressive type system to be used for the Scala programming language (compatible with the old type system, as it's more expressive, but also sound -- disallowing any incorrect code).
Regarding Typesafe, they took over releases and maintenance, and did a good job at that. Yet Martin Odersky himself and his team at EPFL are the main drivers for innovation, including dotty and all the projects listed above (which were all developed at EPFL, see http://lamp.epfl.ch http://lamp.epfl.ch).
- tormeh 11y agoI was really excited to read about offheap, but I'm disappointed that you make sacrifices in memory safety by using it. I'm so excited by Rust's memory management, but Scala just have so many nice features, especially in multithreading. I hope Rust will catch up, eventually.