Scala

Scala is a statically typed programming language designed by Martin Odersky and his group at EPFL in Lausanne. The defining idea is captured in the abstract of the team’s 2004 technical report, “An Overview of the Scala Programming Language” (EPFL IC/2004/64): “Scala fuses object-oriented and functional programming in a statically typed programming language. It is aimed at the construction of components and component systems.” The official Scala site echoes this, describing how “with Scala, you can combine both functional and object-oriented programming styles to help structure programs.”

Scala runs on the Java Virtual Machine. The official site lists “the Java Virtual Machine” as a target platform, which means Scala code compiles to JVM bytecode and can call existing Java libraries directly. This interoperability let Scala enter Java shops without forcing teams to abandon their existing code.

The language blended ideas that were not yet common together in a single mainstream-targeted language: first-class functions, pattern matching, immutable data structures, and a rich static type system, alongside conventional classes and objects. Several of these features later appeared in other JVM and mainstream languages, and Scala served as a proving ground for combining functional programming with object orientation at scale.

Scala became the foundation for widely used systems, most notably the Apache Spark data-processing engine and the Akka concurrency toolkit, both originally written in Scala. The Scala Center at EPFL, which the official site lists among the project’s maintainers, continues to steward the language; the site’s footer carries the copyright “2002-2026 Ecole Polytechnique Federale Lausanne (EPFL),” reflecting EPFL’s long-running role in its development.