Scala 2.9.1 final - faster compilation and many other improvements
scala-lang.org
scala-lang.org
If I were to have total freedom in my choice, I really don't know where I would fall. Scala has some _amazing_ libraries and ensime for emacs is incredible, but its project workflow is almost humorously bad (and I am not a fan of where SBT is going, to the point where I am using raw pom files for project management). Clojure has Leiningen, which is much better to work with, but its library space is mixed in quality and its java interface is still worse than Scala's (and going back from Java to Clojure? Getting better, still harder). Lisp still sings to me, but when you're working with a lot of Java libraries, your freedom to really leverage lisp is blocked somewhat.
So I dunno how I'd come down, now. I like both, I dislike both. Probably depends on my mood that day. I do think that _both_ of those two languages stands pre-eminent for the kinds of systems and platform work I do. It's also easy to hire java folks and train them in; a freedom that isn't offered by other (arguably, always arguably) more powerful languages for this domain like Erlang or Haskell. Given the incredibly competitive hiring environment today, I must grudgingly give them points for that.
On 2.9.0-1 my project took 21 seconds to compile. On 2.9.1.RC4 it was decreased to 18 seconds. (I tried 3 times with each Scala version). This is a project with 8 source files: https://github.com/cucumber/cucumber-jvm/tree/master/scala
Conclusion: Compile speed went from abysmal in 2.9.0-1 to a tiny bit less abysmal in 2.9.1.RC4.
I haven't tried 2.9.1 since it's not in Maven yet, but I doubt compile speed was improved after the latest RC.
Having said all that, if anyone knows what really went into the release I'd love to hear it. Major fixes or things to look out for would be great.
[edit: Softer language to convey my intent better.]
System scripting in Scala suddenly got a lot more appealing :-)
Any details on how they were able to achieve it?
Amongst other things it looks like Paul Phillips (a.k.a extempore) has done a lot of optimisation work. This looks like a pretty important one:
https://codereview.scala-lang.org/fisheye/changelog/scala-sv...
I don't actually know Scala; is there a tl;dr for that link?
http://groups.google.com/group/scala-internals/browse_frm/th...
http://groups.google.com/group/scala-internals/browse_frm/th...
http://groups.google.com/group/scala-internals/browse_thread...