Scala describes itself as where "object-oriented meets functional." On top of being OO, Scala is also a full-blown functional language. It usually runs on the Java VM, so Java and Scala classes can be freely mixed. Many frameworks including Akka, Finagle, and Play streamline the development of highly scalable and concurrent systems. If you want higher-order features that have been implemented in real-world projects but prefer not to wait for Java 8, use Scala today.