Torrentz will always love you. Designed to be concise, many of Scala’s design decisions aimed to address criticisms of Java. Scala source code is intended to be compiled to Java bytecode, so that the resulting executable code runs on a Java virtual machine. Scala provides language interoperability with Java, so that libraries written in both languages big java late objects horstmann pdf be referenced directly in Scala or Java code.
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. Other features of Scala not present in Java include operator overloading, optional parameters, named parameters, and raw strings. Conversely, a feature of Java not in Scala is checked exceptions, which have proved controversial.
The name Scala is a portmanteau of scalable and language, signifying that it is designed to grow with the demands of its users. It followed on from work on Funnel, a programming language combining ideas from functional programming and Petri nets.