The Scala programming language is a newer, very interesting language, with a lot of new features compared to Java. The reason Scala is interesting to Java programmers is, that Scala is compiled to run on the Java Virtual Machine. In other words, Scala is compiled into Java bytecodes. This also means that you can use all Java classes in your Scala code. Even the Java classes you have developed yourself. This makes a transition to Scala cheaper, since a lot of Java code can be reused.
Some of the new, interesting features in Scala are closures, functions as objects, traits, concurrency mechanisms inspired by Erlang, and its support for DSL's (Domain Specific Languages).
Scala's home page is here:
Scala is a big language, so this Scala tutorial is work in progress. The Scala version used in the examples in this tutorial is Scala 2.8.0 .
I expect that you already know the basics of programming, and also of object oriented programming. This tutorial will explain how Scala deals with these topics, but it will not explain object oriented programming concecpts from scratch.
Feel Free to Contact Me
If you disagree with anything I write here about Scala, or just have comments, questions, etc, feel free to send me an email. You wouldn't be the first to do so. You can find my email address on the about page.