Sunday, January 11, 2009

Scala Summary

I have been reading Scala papers for a couple of days. Here's a quick summary from the first section of "An overview of the Scala programming language":

  • Scala fuses OOP and functional programming together.
  • Scala has been designed for construction of components and component system, which is a goal of software industry.
  • Components can be in any form, any size. Classes, libraries, frameworks, or processes can be considered as components.
  • Most existing languages offer only limited level of abstraction and composition.
  • The same concept of programming should be scalable to use for small as well as large programs.
  • Scala aims to be scalable by fusing OO and functional features into it.
  • Every value is an object, and every operation is a method call in Scala (uniform object model).
  • Functions are first-class values in Scala.
  • Scala has a unified abstraction for both types and values.
  • Scala provides constructs for composing classes and traits.
  • Scala provides object decomposition using pattern matching.

No comments: