Scala (programming Language) - Comparison With Other JVM Languages

Comparison With Other JVM Languages

Scala is often compared with Groovy and Clojure, two other programming languages also built on top of the JVM. Among the main differences are:

  1. Scala is statically typed, while both Groovy and Clojure are dynamically typed. This adds complexity in the type system but allows many errors to be caught at compile time that would otherwise only manifest at runtime, and tends to result in significantly faster execution. (Note, however, that current versions of both Groovy and Clojure allow for optional type annotations, and Java 7 adds an "invoke dynamic" byte code that should aid in the execution of dynamic languages on the JVM. Both features should decrease the running time of Groovy and Clojure.)
  2. Compared with Groovy, Scala has more changes in its fundamental design. The primary purpose of Groovy was to make Java programming easier and less verbose, while Scala (in addition to having the same goal) was designed from the ground up to allow for a functional programming style in addition to object-oriented programming, and introduces a number of more "cutting-edge" features from functional programming languages like Haskell that are not often seen in mainstream languages.
  3. Compared with Clojure, Scala is less of an extreme transition for a Java programmer. Clojure inherits from Lisp and Scheme, with the result that it has a radically different syntax from Java and has a strong emphasis on functional programming while de-emphasizing object-oriented programming. Scala, on the other hand, maintains most of Java's syntax and attempts to be agnostic between object-oriented and functional programming styles, allowing either or both according to the programmer's taste.

Read more about this topic:  Scala (programming Language)

Famous quotes containing the words comparison with, comparison and/or languages:

    From top to bottom of the ladder, greed is aroused without knowing where to find ultimate foothold. Nothing can calm it, since its goal is far beyond all it can attain. Reality seems valueless by comparison with the dreams of fevered imaginations; reality is therefore abandoned.
    Emile Durkheim (1858–1917)

    Most parents aren’t even aware of how often they compare their children. . . . Comparisons carry the suggestion that specific conditions exist for parental love and acceptance. Thus, even when one child comes out on top in a comparison she is left feeling uneasy about the tenuousness of her position and the possibility of faring less well in the next comparison.
    Marianne E. Neifert (20th century)

    The less sophisticated of my forbears avoided foreigners at all costs, for the very good reason that, in their circles, speaking in tongues was commonly a prelude to snake handling. The more tolerant among us regarded foreign languages as a kind of speech impediment that could be overcome by willpower.
    Barbara Ehrenreich (b. 1941)