Happy tenth birthday Scala! Whats next?
With Java 8 bringing some Scala-esque features to the JVM, we ponder over the future of the type-safe language.
Scala, which was originally envisaged in 1999 by creator Martin Odersky as a language that smoothly married functional with object-oriented programming, celebrates ten years since its first implementation this month.
Odersky’s brainchild finally launched on January 20th, 2004. Heralded by Michel Schinz for introducing “several innovative language constructs”, the type-safe language has continued to maintain this out-of-the-box approach as it’s grown up.
One of the the biggest things Scala has been credited with is introducing more concise and testable methods of programming, as well as for bringing functional programming to mainstream JVM languages.
Now, with the release of Java 8 imminent, there’s a host of Scala features poised to be unleashed on the mainstream JVM, and it’ll be interesting to see what Scala’s response to this will be – if any. It can be argued that Scala really precipitated the inclusion of lambdas in Java 8, as well as default methods for interfaces.
At heart, it has over the years remained an iterative language, experimenting with new ideas and deprecating older functionalities. In the years to come though, we can likely expect to see something of a slowdown in this continual adoption of new features. This will be partly driven by an acceleration in user growth, as well as an arguably natural process as the languages matures.
There are certainly a few big name players who have helped raise the profile of Scala over the past few years. It’s perhaps best known for being one of the main programming languages on Twitter, who like it for its speed, user friendliness, and flexibility, among other things, as well as, of course, Java interoperability. Other high rolling Scala coders include Linkedin, FourSquare, and Sony.
Rod Johnson is a notable convert to Scala, who believes that, by 2018, it will have “found its niche” as the leading enterprise language for demanding applications in need of scalability. Its high degree of interconnectedness with the Java ecosystem gives it a cachet that other alternatives simply cannot match, and he also believes that Java’s lingering presence in the years to come will only benefit Scala, thanks to the “robust and performant” JVM.
With Scala.js in development, it’s also set to make inroads on the browser. Although far from enterprise project ready, early responses are apparently very positive, but it’s far too soon to predict whether the final product will be powerful enough to convert non-Scala users to the language.
There’s also the Scala IDE for Eclipse, which continues to come on in leaps and bounds, which offers support for mixed Scala / Java projects.
Although Scala continues to rank ahead of other JVM languages (it’s currently standing at 33 in the TIOBE Software Index, and 12 on the RedMonk Programming Language Rankings), there’s certainly still enough cross-pollination going on in the space to guarantee that the user base will continue to grow. Well, as long as the community follows Johnson’s advice, and offers a friendly, open attitude to potential converts.
If you’d like to join the Scala party this week, we highly recommend this talk by Ted Neward, which provides a splendid introductory guide for Java developers curious about the object-oriented and functional language, going “beyond” the syntax by tackling the challenge of actually learning to think the Scala way.