Scala is a programming language designed to express common programming patterns in a concise, elegant, and type-safe way.
It smoothly integrates features of object-oriented and functional languages. In addition, developers who prefer to code in Java can still use Scala for their projects, as the language is interoperable with Java.
What's New in This Release:
NEW FEATURES AND IMPROVEMENTS:
Value Classes:
· A class may now extend AnyVal to make it behave like a struct type (restrictions apply).
Implicit Classes:
· The implicit modifier now also applies to class definitions to reduce the boilerplate of implicit wrappers.
String Interpolation:
· val what = "awesome"; println(s"string interpolation is ${what.toUpperCase}!")
Futures and Promises:
· Asynchronously get some JSON: for (req
Dynamic and applyDynamic:
· x.foo becomes x.applyDynamic("foo") if x’s type does not define a foo, but is a subtype of Dynamic
Dependent method types:
· def identity(x: AnyRef): x.type = x // the return type says we return exactly what we got
New ByteCode emitter based on ASM:
· Can target JDK 1.5, 1.6 and 1.7
· Emits 1.6 bytecode by default
· Old 1.5 backend is deprecated
A new Pattern Matcher:
· rewritten from scratch to generate more robust code (no more exponential blow-up!)
· code ...