Interesting interview, especially the comment about any industrial success of a functional language helps other functional languages.
I spent a year trying to decide whether Clojure or Scala would be my "new, better Java or JVM language." Clojure won, for me, because I sometimes get hired to do Lisp development, so some Clojure work has also come my way. Unfortunately, I have never had any consulting offers to work with Scala so the consulting market made the decision for me on which language to put more effort in learning.
Just about every programming language looks like baseline noise compared to Java. Still, there's no denying these are both still very much niche languages.
I've been hacking around on the side in functional languages for over ten years now and I don't ever remember seeing close to this much mainstream interest in functional languages. The web opened the door for anything that can talk HTTP and Python and Ruby made FP seem a lot less exotic.
The changes have been a little painful but overall I think the Scala team is taking the right approach in fixing obvious design mistakes now while it's still possible to do so. As I'm getting more familiar with the new collections library I'm enjoying it a lot. I can write code that's as concise and expressive as Ruby but with the advantages of static type checking and much, much better performance.
Yea, the new collections library is great once you can get used to it. I agree that now was a much better time to make big changes than further down the road
Scala does not follow the usual version number conventions. Scala 2 was a total re-write from Scala 1 (the compiler was ported from Java to Scala). Scala 2.8 is a major, backwards-incompatible release with Scala 2.7. Scala 2.8.x releases will be at least backwards source-compatible. (Binary compatibility is more challenging in Scala, because of how traits work, but the Scala team is allegedly tackling this problem for 2.8.1. We'll see.)
They decided to make some backwards incompatible changes after they had already announced 2.8 as the next release. They would have made it 3.0 but everybody was already calling the next release 2.8.
I really enjoy both languages so it's great to hear an affirmation of this from Martin. Scala and Clojure compete only in the sense that I only have enough free time to really dig into one or the other but the approaches are different enough that they can certainly co-exist.
I'm not sure that that is a valid side-by-side, python by no means is a success because of Django but I'm fairly sure that lots of people would have never used Ruby if it weren't for rails.
I especially liked the joke at the end. It came through as playful dig at one of the key design differences between the languages and was answered in that spirit. Kudos to both of them.
It is really great we have this diversity on languages nowadays, and that important aspects such functional programming, dsl support, and readability is being considered more seriously by both language designers and developers alike.
I spent a year trying to decide whether Clojure or Scala would be my "new, better Java or JVM language." Clojure won, for me, because I sometimes get hired to do Lisp development, so some Clojure work has also come my way. Unfortunately, I have never had any consulting offers to work with Scala so the consulting market made the decision for me on which language to put more effort in learning.