Shaun Abram
Technology and Leadership Blog
OSCON Day2: Scala
I attended the Scala Summit on day 2 at OSCON.
As well as the Scala introduction classes, there were interesting talks on Akka, Simple Build Tool and Specs….
Akka
I attended a lecture by Jonas Boner on the Akka library. Jonas believes that it is simply too hard to write correct concurrent, scalable applications and that the threads and locks approach to concurrency taken in Java is far from the ideal approach. So, he created the Akka project to provide a better solution.
Akka is an opensource library ,with a Scala and Java API, whose MO is “Simpler Scalability, Fault-Tolerance, Concurrency & Remoting”. It achieves this through the use of the Actor Model. As well as actors, Akka provides Fault tolerance (inspired by the approach used in Erland) using a Let It Crash approach. Akka also makes use of Software Transactional Memory.
It seems like a well written project with a lot of good ideas. I would like to learn more about it (and perhaps hear of it being used in some enterprise apps) before I would attempt to use it in anger, but definitely one to keep an eye on…
Simple Build Tool
The second interesting talk was by Mark Harrah on SBT (Simple Build Tool).
SBT is for building projects. It is all about Scala: written in Scala; builds scala; defined in Scala.
It uses Ivy for dependency management, can be run in interactive mode or via triggered execution (~) to run when the source code changes.
The tool seemed neat and effective when he demoed it and this was reinforced by the other Scala presenters giving it a very big thumbs up. If I ever get a chance to start developing Scala in anger, this will be the first tool I would look at…
Specs
The final talk of interest was on Specs, by Eric Torreborre.
Specs is a is a Behaviour-Driven-Design framework which provides a simple and typed language to create specifications. It seemed to be a way to create specifications as tests (with integration with JUnit and JMock) in a way that is understandable by both business and technical folks alike, in a DSL like manner.
Tags: akka, sbt, scala, specs, tools