Scala (programming language)

From Wiki @ Karl Jones dot com
Jump to: navigation, search

Scala (/ˈskɑːlɑː/ skah-lah) is a general-purpose programming language.

Description

Scala has full support for functional programming and a very strong static type system.

Designed to be concise, many of Scala's design decisions were inspired by criticism of Java's shortcomings.

Scala source code is intended to be compiled to Java bytecode, so that the resulting executable code runs on a Java virtual machine.

Java libraries may be used directly in Scala code and vice versa (language interoperability).

Like Java, Scala is object-oriented, and uses a curly-brace syntax reminiscent of the C programming language.

Unlike Java, Scala has many features of functional programming languages like Scheme, Standard ML and Haskell, including currying, type inference, immutability, lazy evaluation, and pattern matching.

It also has an advanced type system supporting algebraic data types, covariance and contravariance, higher-order types (but not higher-rank types), and anonymous types.

Other features of Scala not present in Java include operator overloading, optional parameters, named parameters, raw strings, and no checked exceptions.

Etymology

The name Scala is a portmanteau of scalable and language, signifying that it is designed to grow with the demands of its users.

See also

External links