Martin Odersky : The main new feature in scala 2.9 is Scala Collections. For me that is a big killer feature because up to now whenever you wanted to use parallel hardware like multicores or clusters your programs became more complicated and more difficult. You have to use things like threads and locks or things like actors and software transaction memory which is overall much better than threads and locks but it is still much more difficult than just sequently programming. So with parallel programming and in particular parallel collections, for the first time we have something that is actually just as easy as standard collections. I would argue it is actually easier than standard Java or C++ imperative collections, and at the same time we can parallelize it. So I believe it is actually a big big step forward which may revolutionize the way we think programs in the futur.
WT : Any release date for Scala 2.9 ?
MO : So we are basically feature complete for 2.9, we just want to put some auxiliary tools. I hope we will have a first RC out in the month of February.
WT : Any news for Scala 3 ?
MO : For the moment, we are not even sure whether it’s gonna be Scala 3 or Scala 2.10. So it’s gonna be Scala 3 if there’s a big move forward and right now we don’t see that so much. So I believe it’s actually more like the next release after 2.9 will be 2.10 and it will be probably just an gradual improvment mostly on the library side. I don’t see any big changes in the language coming for the next releases.
WT : Akka Actors in Scala ?
MO : It’s true that Akka actors have a lot of things going for them : they are very scalable, they have high performance, they work very well in distributed systems. That said, the standard actors in the Scala distribution also have something going for them. In particular that they work very well with standard Java threads and they are very simple to use. So ideally, we should combine the two : find the system that combines the strength of Akka with the good points of the standard actors. And we are working on that. So we are working on possible designs that could reach those things. And in the end, you will have the full power of Akka actors in the Scala system. We haven’t completed that yet but we are working towards that solution.
WT : Scala = Scalable Language (Twitter, LinkedIn…). Why thinking of Scala for “standard” webapp ?
MO : It’s true that it is often the high profiles that use the most very very advanced application because of the high demand. One of the main benefits of Scala is that it increases your productivity as a programmer : you program faster, you have fewer errors, you have a higher assurance of reliability. And that is of course important for all applications, not just high performance applications. What’s true is that if you have a high performance application, then you need to try something new because tipically the standard solutions don’t work for you. Then it’s easier for a newcomer like Scala to actually be adopted by companies like Twitter, LinkedIn, Foursquare and others. On the one hand, even in more standard settings, there is always some times where you have to start a new project and maybe do that with higher speed, fewer resources than you had before and I think there is again an opportunity to use Scala. On the other hand, it’s much harder than if you have a solution that works for you like : let’s say you have a stack that you have used for a long time to say well you’re gonna throw that over board now and try something new that of course tipically doesn’t happen because if it has worked for you in the past then there’s not lot of pressure to change it. And of course you continue to do that. But I think even though, there are enough opportunities ; when new things are tried out, that’s where you have a chance of being adopted.
WT : Something special to say ?
MO : It’s always great to be in Paris and in other cities to interact with the user groups and see a little bit the excitment. And I think a lot of excitment is cooking right now and I expect quite a few interesting things to happen over the next years.