Scala, the language that combines functional and object-oriented programming
Java, the language that uses objects and primitives
Spring, an application framework and inversion of control container for the Java platform