This page is no longer maintained — Please continue to the home page at www.scala-lang.org

Dropping support for EOL'd Java versions after Scala 2.10?

2 replies
Simon Ochsenreither
Joined: 2011-07-17,
User offline. Last seen 42 years 45 weeks ago.
Hi,

as far as I remember it came up already before Java 7. I'm interested and wondering if there are plans on how to go forward with regard to the Java version Scala is depending on ...

At the moment Scala is still supporting Java 5 (EOL'd October 2009) and Java 6 (EOL'd July 2012), so when the version after 2.10 is released everything older than Java 7 is not publicly supported anymore.
What about having 2.10 as the last version targeting Java > 5 and bumping up the Java version for 2.11 to Java 7? (Of course Typesafe can sell support for to provide additional builds ...)

By moving the baseline to Java 7, I see at least these benefits, which might save effort in the long term:
  • No need to maintain/ship with ForkJoin (which currently lives under scala.concurrent.forkjoin)
  • No need to have separate Scala fork for generified Swing (current vanilla Scala doesn't compile with Java 7)
  • Faster class loading when emitting class file format version >= 50.0 (StackMapTable Attribute)
  • Decent IO/file system library to built upon (NIO2)
  • More efficient exceptions for control flow purposes (Throwable#addSuppressed/getSuppressed and the constructor with enableSuppression and writableStackTrace)
  • Using MethodHandles/invokedynamic to reduce the amount of anonymous classes and for structural types instead of reflection (probably)

Is there any overview or a plan yet on how to go forward? (Not saying this has to be done, but I'm really wondering if it is on the radar...)

Thanks and bye,

Simon

nilskp
Joined: 2009-01-30,
User offline. Last seen 1 year 27 weeks ago.
Re: Dropping support for EOL'd Java versions after Scala 2.10?
On Fri, Jan 27, 2012 at 2:34 PM, Simon Ochsenreither <simon [dot] ochsenreither [at] googlemail [dot] com> wrote:
Hi,

as far as I remember it came up already before Java 7. I'm interested and wondering if there are plans on how to go forward with regard to the Java version Scala is depending on ...

At the moment Scala is still supporting Java 5 (EOL'd October 2009) and Java 6 (EOL'd July 2012), so when the version after 2.10 is released everything older than Java 7 is not publicly supported anymore.
What about having 2.10 as the last version targeting Java > 5 and bumping up the Java version for 2.11 to Java 7? (Of course Typesafe can sell support for to provide additional builds ...)

By moving the baseline to Java 7, I see at least these benefits, which might save effort in the long term:
  • No need to maintain/ship with ForkJoin (which currently lives under scala.concurrent.forkjoin)
  • No need to have separate Scala fork for generified Swing (current vanilla Scala doesn't compile with Java 7)
  • Faster class loading when emitting class file format version >= 50.0 (StackMapTable Attribute)
  • Decent IO/file system library to built upon (NIO2)
  • More efficient exceptions for control flow purposes (Throwable#addSuppressed/getSuppressed and the constructor with enableSuppression and writableStackTrace)
  • Using MethodHandles/invokedynamic to reduce the amount of anonymous classes and for structural types instead of reflection (probably)

Is there any overview or a plan yet on how to go forward? (Not saying this has to be done, but I'm really wondering if it is on the radar...)

Sounds like a Java 7 target would fit nicely with a Scala 3.0 release :-)
Simon Ochsenreither
Joined: 2011-07-17,
User offline. Last seen 42 years 45 weeks ago.
Re: Dropping support for EOL'd Java versions after Scala 2.10?
As far as I understand a Scala 3.0 is not planned and would require a substantial, incompatible change of the language, which isn't happening here.

Copyright © 2012 École Polytechnique Fédérale de Lausanne (EPFL), Lausanne, Switzerland