Scala is a static-typed language combining functional and object-oriented paradigms that runs on the JVM. It provides powerful features like pattern matching, higher-order functions, and type inference while maintaining compatibility with Java libraries.
functional, object-oriented, imperative, concurrent, generic
data science, distributed system, server-side applications, web development, big data
first-class functions, closures, pattern matching, algebraic data types, type inference, operator overloading, traits/interfaces, extension methods, string interpolation, reflection, meta-programming, macros, type classes
static system, structural typing, strong typing, full inference, compile-time checking, conservative type coercion, optional type annotations
compiled, hybrid
Java, Haskell, ML, Erlang, Lisp, Pizza, Scheme, OCaml, Smalltalk, Standard ML, Eiffel, Common Lisp, Oz
scala, kojo, sbt, sc
Status | active |
Type | programming |
Created | 2004 |
Designed by | Martin Odersky |
Developed by |
École Polytechnique Fédérale de Lausanne (EPFL) Lightbend (formerly Typesafe) Swiss Federal Institute of Technology in Lausanne Martin Odersky |
PyPL Index | #22 |
TIOBE Index | #29 |
GitHub rank | #38 |