Scala is a blend of object-oriented and functional programming that runs on the Java Virtual Machine. It was designed by Martin Odersky at EPFL. Scala is more like an open-source "bazaar" that is constantly adapted and extended, rather than a carefully constructed "cathedral". Functions are first-class citizens in Scala - they can be defined anywhere, passed as parameters, and returned as results.