Wednesday, September 10, 2014

Why Scala?

Of late, there has been a tremendous surge in interest for programming in Scala. Here are some of the reasons why people are choosing to program in Scala.


  • Java/JVM compatible
    • Runs on the JVM
    • Can reuse Java libraries
  • Concise code 
    • Less boiler plate code
    • Type inference
  • Type system
    • Statically typed
    • Rich type system
  • Supports OOP style
    • Mixin composition - traits
    • Companion objects (Singletons tied to types)
  • Supports Functional Programming style
    • Functions are first class values
    • Function literals
    • Emphasis is on using vals, immutable objects, functions without side-effects
  • Is scalable
    • User defined types
    • User defined operators
    • User defined control structures
    • Can be used to write scripts
    • Can be used to write large applications