I am a heavy C# and a Python user. I am looking at Java after a long time for some of my projects. I really miss the features in my favorite language. No delegates, no anonymous types, no type inference. In my quest to learn new languages, I started scouring the web. I then came across Scala. It is a better Java for the JVM. According to the Alioth performance shootout, Scala’s performance is comparable to Java6-server’s performance. It supports type-inference, real iterators, list comprehension, the functional goodness and much more. I am impressed by the ease in which it can use Java’s libraries.
In short, it is a Java that doesn’t suck.
Here are some of the resources that would help you get started with Scala.
- Scala Home – http://www.scala-lang.org
- Scala for Java Programmers – part 1 – http://blogs.sun.com/sundararajan/entry/scala_for_java_programmers
- Scala for Java Programmers – part 2 – http://blogs.sun.com/sundararajan/entry/scala_for_java_programmers
This is a nice video by the creator of Scala about building component systems and how scala is relevant in this context.