Aviva Directory » Computers & Internet » Programming » Scala

Designed to be concise, as opposed to Java, Scala is a general-purpose programming language with support for a strong static type system and functional programming.

Scala runs on the standard Java platform, operating smoothly with all of the Java libraries. Scripts written in Scala can pull together all of the Java components, but its strengths are especially evident when it is used for building large systems and frameworks of reusable components.

Scala is a blend of object-oriented and functional programming concepts in a statically typed language, aspects that complement one another when it comes to scalability.

Scala was designed to be a scalable language, to grow with the needs of its users. In fact, it was named for these aspects, as a sca(lable) la(nguage). The language can be applied to a wide range of tasks, from small scripts to large programs.

Scala source code is intended to be compiled to Java bytecode. The resulting executable code runs on a Java virtual machine. Unlike Java, Scala is object-oriented, but also shares many features of such functional languages like Haskell and Scheme. It embraces functional programming without abandoning object orientation.

ScalaJS, a Scala compiler, emits JavaScript code, allowing programmers to write both the server-side and client-side parts of a web application in a language other than JavaScript.

Scala Native is another Scala compiler. It targets the LLVM compiler infrastructure, creating executable code that uses a lightweight runtime.

Scala is sometimes compared with Clojure and Groovy, both of which also use the Java virtual machine. However, Scala is statically typed, while Clojure and Groovy are dynamically typed.

Scala is open-sourced through an Apache License 2.0.

The focus of this category is on the Scala programming language, any of its implementations or dialects, compilers, editors, or tools designed to be used with Scala, as well as Scala user groups, forums, tutorials, guides, or other resources related to the language.



Recommended Resources

Search for Scala on Google, Bing, or Yahoo!