Summary
David Rupp recently took Scala and the Scala-based Web framework Lift for a test drive, and reports on his findings in a recent blog post.
Advertisement
As developers look to benefit from recent innovations in programming languages as well as from the capabilities of the JVM, Scala often comes up as a valuable language to learn. (For an introduction to Scala, see First Steps to Scala by Bill Venners, Martin Odersky, and Lex Spoon).
The Scala-based Web framework, Lift, is also getting more developer attention. Recently, David Rupp took Scala and Lift for a test drive, and reports on his findings in Fun With Scala: Things I'm Learning From Lift #1.
Among his initial observations of Lift and Scala is that Lift conforms to the Java servlet conventions:
How's that for interoperability with Java? I haven't gotten that far yet, but this tells me that whatever Lift uses for its request/response implementation is going to conform to the usual Java interfaces.
Rupp also notes other import conveniences in Lift and Scala:
There's a syntax for importing not just classes, but members of a class. Like so:
import net.liftweb.util.Helpers._
This basically says "make everything in the Helpers class (actually it's a singleton object, but think of it as a class for now) available to this class without my having to qualify it with 'Helpers.' all the time".
Have you tried Scala yet? If so, what was the top "fun" experience you had with Scala?
Scala is very good at mixing paradigms, it's rare to find a language which makes you deal at the same time with: pi-calculus, pattern matching, OOP, FP, closures, Actors model, join calculus (I didn't try this), parsers combinators, mixins, type inference. This is computer science compressed in one single place. I find these features beautifully integrated in Scala, mostly as hosted languages which make it simpler to enforce the paradigm and not simply visualize everything as a network of communicating objects. I really care about notation, like K.Iverson says, "notation (is) a tool of thought".