Why Scala for OscaR ?

  • Scala sits on top of the JVM. It seamlessly integrates with existing Java code and has many features that Java doesn't.
  • Scala syntax is flexible making it one of the best language to implement DSLs (Domain Specific Language). This is particularly appreciated in our case to implement modeling layers for optimization (more on Scala syntax flexiblity for DSL implementation here).
  • Scala is efficient (a paper of Google comparing Java, Scala, C++ and Go)

Resources to learn Scala

  • In case you want to learn more about Scala, we found this tutorial made by twitter very good (yes part of twitter is implemented with Scala).
  • Scala 4 the Impatient (Cay Horstmann) is a very good book to learn quickly Scala (and in depth).
  • Programming in Scala (Martin Odersky, Lex Spoon, and Bill Venners) is THE reference book on Scala.

Scala Ecosystem

  • Many development tools and libraries are listed here (editors, libraries, build, etc).
  • Very good tools for reactive programming available on the type safe stack.