Recap of Scala Days
by Martin Odersky
It's been a busy ten days in Palo Alto. I gave the Advanced Scala course for Typesafe at Stanford, was in a lot of meetings and met a great number of interesting people. Interest in Scala and Akka is growing at a very rapid pace. You can literally feel it in the air.
The highlight of this visit was clearly Scala Days 2011, which was organized in the Stanford Alumni Center. The environment was better than almost any conference I have been to: Large lecture theaters, generous spaces to hang out and chat, catering around the clock. Of course, the most important part of a conference are the people attending it. There were 260 this time; the conference was sold out at that number (the previous Scala Days 2010 conference at EPFL was also sold out at 150 attendees).
The program this year consisted of four tracks of talks, which made it very hard to choose what session to attend at any one time. Quite often, super interesting talks in similar domains were scheduled at the same time. For instance, I had to choose between Jonas Bonér's talk on clustering in Akka and the talk by Josh Suereth and Daniel Mahler on Cascade, an integration of Google's FlumeJava in Scala collections. Which one to pick? Both are exciting developments in distributed computing. In the end, I went to the Cascade talk, and came away deeply impressed. The full power of Scala collections extended to tens of thousands of nodes via MapReduce. Not bad at all. Fortunately, all talks have been shot on video, and I am looking forward to catch up with the talks I missed once the videos are posted online.
The trends of the conference are captured well in James Iry's tweet: "multi-core; distributed; applicative; and we're hiring". There was a lot of activity in parallelism and distributed computing. Three talks on Akka, three talks on parallel DSLs embedded by Stanford's pervasive parallelism lab in Scala, parallel and distributed collections, and several others more. A highlight of the conference was Doug Lea's keynote on JVM concurrency trends. He stressed the importance of dynamic scheduling as found in both microprocessor hardware and processors schedulers and the difficulty of static scheduling in GPUs.
Another difference from last year to this year concerned the number and quality of tech talks. Last year, many talks were about initial explorations of a Scala project; this year most talks reported on some aspect of a sizable projet that was in production, or close to it. And those projects are growing, and spawning off new ones. It's a very good job market for Scala developers, and an exciting time to be part of the Scala community.