Scala is a general purpose programming language designed to express common programming patterns in a concise, elegant, and type-safe way. It smoothly integrates features of object-oriented and functional languages, enabling Java and other programmers to be more productive. Code sizes are typically reduced by a factor of two to three when compared to an equivalent Java application.
Martin Odersky talks to Bill Venners about the origins of Scala. He explains how he became interested in computer compilers and language design, the influence of functional programming and the excitement everyone felt on the arrival of Java in 1995. You can begin to understand the motivation that led to Pizza and the design of Java Generics while also gaining an insight into the drive to give programmers a better language. He discusses some of the complex set of constraints that made the task a real challenge and why Scala was born. For anyone interested in Scala this interview gives a fascinating insight into the influences that made Scala what it is today.
According to TIOBE Scala has moved up from 35 to 27 in the programming language popularity league in the last few months. The index is considered to be an indicator of how attractive acquiring a given language skill is for job prospects or as a basis for future project development. You find Scala appearing in more job postings and a casual browse through some of the job posting sites such as SimplyHired, Indeed, MySpace Jobs or Trovit will confirm the idea, You will notice Scala is typically combined with a requirement for Java experience too. This would appear to reflect the fact that new projects in Scala are likely to interface to existing Java applications or libraries. Companies seem to be leveraging the interoperability of Java and Scala to introduce the new language.
Whether you use a dynamically or, like Scala, a statically typed language you cannot help but ask yourself why people are attracted to the other one. Earlier this month Bill Venners wrote "Getting Dynamic productivity in a Static Language", an article on just this topic, and invited opinions from other programmers with experience of languages using both type systems. You may enjoy reading the article and the associated comments that go some way to identifying the problem domains best suited to each. If you are still trying to decide which language to learn next this could help clarify one of the choice criteria.
It's ready! The new stable release of the Scala distribution, Scala 2.7.4 final, is now available from our Download Page. This new version is a maintenance release; several bugs have been fixed, but at this stage we are only adding new features to the new Scala 2.8 codebase, which should be complete within a few months. The version 2.7.4 of the Scala IDE for Eclipse, however, introduces many improvements, listed below.
This version will be the last release of the 2.7.x branch, and will also be the last one to support the old version 1.4 of the Java Virtual Machine. Please read below for further details on what is new in Scala 2.7.4, and in the new and improved Scala IDE for Eclipse.
Copyright © 2009 École Polytechnique Fédérale de Lausanne (EPFL), Lausanne, Switzerland