Thursday, July 31, 2008

Scala - What Inspires Me

During the last year I have been developing in Scala and will be giving my first talk to the Denver Open Source Users Group on August 5, 2008. The preparation for this talk got me to reflect on what inspires me about Scala. There is:

1. The uniform object model that incorporates primitives as first class objects.

2. Strong typing and clean generics.

3. Traits for composing mixins.

4. Dynamic construction for mixing classes and traits at run time for dependency injection.

5. Closures and functions passed as values.

But what inspires me the most is pattern matching. OO and FP combine into something entirely new. A match looks like an ugly Java switch statement with type enhancements, tuples and extractors. But what I see is a lovely dance between deconstruction and reconstruction that enables you to transform anything.

Indeed something to be inspired about.



For those unfamiliar with Scala, it is an ambitious merger of OO and FP (Functional Programming) that sits up top of the JVM and fully interoperates with Java. Visit www.scala-lang.org for complete information.