Scala 2.11 Released
Written by Andrew Johnson   
Wednesday, 23 April 2014

The latest release of Scala focuses on stability, makes Scala faster and smaller as well as continuing to refine experimental language features.

 

scalabanner

 

Just in case you haven't encountered Scala before some background facts -

The name Scala comes from scalable and language indicating that it was designed to grow alongside the demands of its users. It is an  statically typed, object-oriented, functional language, which runs on the JVM and has some interesting parallel processing constructs based on the actor model. An actor is essentially an object that runs concurrently and engages in message passing,

Scala was originated in 2001 by Martin Odersky at the École Polytechnique Fédérale de Lausanne. Prior to this Odersky had worked on Generic Java and javac, Sun's Java compiler, and had received his Ph.D. from ETH Zurich under the supervision of Niklaus Wirth, creator of the Pascal programming language.

Scala was released publicly in 2004 as an open source project under the BSD licence and Version 2 was released in 2006. In January 2011  the Scala team was awarded a grant of 2.3 million euros over 5 years to implement parallel processing features which allowed the team to expand. Shortly afterwards Odersky founded Typesafe Inc., a company to support and promote Scala, with a further $3 million of Series A financing. At the same time Typesafe Stack, which integrates Scala, Akka middleware and developer tools to and accelerate software development, was launched. Meanwhile the Scala IDE, based on Eclipse, has continued to be developed and you can download the Scala IDE with the latest release built in on both Eclipse 3.7 and Eclipse 4.2 Juno.

According to the Typesafe blog, over 600 bugs were fixed in Scala 2.11 and as many of these fixes as possible were back ported to 2.10, even though the 2.10 series now goes into maintenance mode and is expected to concluded by the end of 2014 with version 2.10.5.

The announcement of its release states

The Scala 2.11 series targets Java 6, with (evolving) experimental support for Java 8. In 2.11, Java 8 support is mostly limited to reading Java 8 bytecode and parsing Java 8 source. We will be expanding Scala's (experimental) Java 8 support and interop throughout the 2.11 series.

The list of highlights of Scala 2.11 starts with the fact that it is smaller, with a fifth of the bytecode or the core Scala library moved to separate modules. Next it is faster, partly thanks to optimization of the batch compiler's performance will continue to be worked on this during the 2.11 cycle, partly through generating faster code using an experimental GenBCode back-end, by implementing branch elimination through constant analysis and an experimental way of compiling closures. Various operations on collections have also contributed to improved speed. Finally it is claimed to be stabler with the announcement stating:


Code that compiled on 2.10 without deprecation warnings should compile on 2.11 (we do not guarantee this for experimental APIs, such as reflection)

later stating:

the experimental reflection API underwent breaking changes, which luckily have an easy fix that is source compatible with Scala 2.10

referring users to a document titled How to make your 2.10.x macros work in 2.11.0.

In addition users are warned:

Many classes and methods in the collections library have been slated to become final in 2.12, to clarify which classes are not meant to be subclassed and to facilitate future maintenance and performance improvements.

In this 50-minute webinar Jason Zaugg of the Typesafe Scala team introduces the changes in this release, provides tips for upgrading and shares plans for the upcoming releases..

 

If you are interested in learning more about Scala, Martin Odersky's MOOC, Functional Programming Principles in Scala, a 7-week course on the Coursera platform is restarting on April 25th. There is also a follow-on MOOC, Principles of Reactive Programming, taught by Martin Odersky, Roland Kuhn who is Akka Tech Lead at Typesafe and Erik Meijer, founder of Applied Duality. 

scalasquare

 

More Information

Scala 2.11 Has Arrived!

Scala website

Download Scala 2.11.0

Related Articles

Grant Of 2.3 Million Euros For Scala

New MOOC On Reactive Programming

 

 

To be informed about new articles on I Programmer, sign up for our weekly newsletter, subscribe to the RSS feed and follow us on Twitter, Facebook or Linkedin.

 

Banner


Mastering LLMs With Experts
22/10/2024

A freely available set of workshops and talks on the essentials of LLMs, taught by practitioners. The topics include Evals, Retrieval-augmented-generation (RAG), Fine-tuning etc.



Extend NGINX With The New JavaScript Module
28/10/2024

Inject middleware functionality into NGINX with the expressive power of Javascript. NGINX JavaScript or NJS for short is a dynamic module under which you can use scripting for hooking into the NGINX e [ ... ]


More News
 

espbook

 

Comments




or email your comment to: comments@i-programmer.info

 

Last Updated ( Thursday, 30 July 2020 )