- About Scala
- Documentation
- Code Examples
- Software
- Scala Developers
Dropping support for EOL'd Java versions after Scala 2.10?
Fri, 2012-01-27, 21:34
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:
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
Fri, 2012-01-27, 22:31
#2
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.
Sounds like a Java 7 target would fit nicely with a Scala 3.0 release :-)