Deprecating Scala 2

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
2 messages Options
Reply | Threaded
Open this post in threaded view
|

Deprecating Scala 2

som-snytt

Kudos to Martin Odersky and his team in the ivory tower, currently just DarkDimius!

Now that dotty bootstraps itself, all of Scala 2 can be deprecated.

Hopefully, this will encourage speedy adoption of Dotty as Scala version 3.

Starting with scalac 2.11.9, almost any feature you might exercise will emit a deprecation message of the form:

Feature `procedure syntax' is deprecated and will be removed in a future version of Scala.
Please consider using the Dotty compiler instead, or rogue forks such as the paulicy compiler by extempore.

The Typelevel compiler will emit the same messages once it catches up with scalac, if ever.

I've had the pleasure of working on a REPL for Dotty, which turned out to be especially easy because
it was already fixed in Ammonite!

Please consult the release notes for 2.11.9 to see which beloved Scala features are no longer
supported by Dotty.

If you are using implicits or macros, probably that is not supported.

If you use postfix syntax, exactly what sort of evil demon are you? Other features consigned
to the eternal flames include method overloading, any2stringadd and all Java interop.

Lightbend will dispatch a code rewriter to any contractual client relying on deprecated language features.
The code rewriter is actually the same elf who helped the cobbler finish the shoes while he slept.
His name is Jamie Allen and he would love to travel to your town and upgrade you to Dotty.

Do you have a nice pub that serves a decent ale? Then you should have no trouble at all upgrading.

It will take @soc the rest of summer, with the assistance of three Google Summer of Code interns,
to complete the deprecation. He will present his findings at @ScalaWorld in September.
That conference takes place in a remote corner of the Lake District for obvious reasons of security.

Even after excluding controversial presenters such as Adriaan Moors, @ScalaWorld recognizes
that the decision to standardize on -Yno-predef is likely to result in wholesale rioting.
Scala Center itself cannot amicably decide on centre or center, recognize or recognise, standardize
or standardise, advertize or advertise, optimize or optimise. So for 2.13, scalac will accept all
alternate spellings under the setting -Ynot.

Milestones of deprecated Scala 2 are available for download as soon as Seth Tisue answers a few
questions on StackOverflow. Miles Sabin has agreed to change his name to Milestone, to ensure
that Scala versions always track with releases of Shapeless. Miles has graciously condescended
to walk the dog by city hall and upgrade himself to Milestone 3.

After that, any builds running -Xfatal-warnings are likely to be fatal until you upgrade to Dotty, which
we are confident you will do over Spring break.

Stay Reactive,
-- The Scala Community

--
You received this message because you are subscribed to the Google Groups "scala-announce" group.
To unsubscribe from this group and stop receiving emails from it, send an email to [hidden email].
For more options, visit https://groups.google.com/d/optout.
Reply | Threaded
Open this post in threaded view
|

Re: Deprecating Scala 2

Guillaume Martres
On Friday, 1 April 2016 18:04:53 UTC+2, som-snytt wrote:
Now that dotty bootstraps itself, all of Scala 2 can be deprecated.

Hopefully, this will encourage speedy adoption of Dotty as Scala version 3.


This announcement may have been a bit premature, we are currently considering replacing Dotty by a new exciting programming language called sbt. sbt is quickly becoming popular, a quick search on Github reveals more than 15000 *.sbt files.
The transition should be simple since most Scala programmers are already sbt programmers, although most of them only think of *.sbt files as a quirky way to write Scala instead of a fully separate programming language with its own semantics that just happens to be implemented in Scala. To accelerate the transition, sbt 1.0 will remove support for the "Build" Scala trait to encourage people to use *.sbt files. If this is successful, we will take the next logical step by removing support for compiling any Scala code from sbt 1.1 in favor of *.sbt files. I think that many people will appreciate this change if only for one reason: it will stop all debates on whether sbt stands for "simple build tool" or "scala build tool", it will obviously stand for "sbt build tool" which is much more satisfying.

As an introduction to sbt programming, I have published a simple hello world example written in sbt at https://github.com/smarter/hello-sbt, it showcases the major advantage of sbt compared to Scala: you don't need to wrap your methods in classes or objects, just write the method and use it!

--
You received this message because you are subscribed to the Google Groups "scala-announce" group.
To unsubscribe from this group and stop receiving emails from it, send an email to [hidden email].
For more options, visit https://groups.google.com/d/optout.