Scalaのロードマップ:2.14来年、スキップ3スカラ

スカラスカラ2は正式に、次の開発計画、開発チームを発表しました仕事ではなく、Scalaの2.14を開発する、Scalaの3シフトすると述べました。

焦点は、Scalaの3に移行しますが、コミュニティはScalaの3への移行を慎重に十分な時間を持っていることを確実にするために、Scalaの2.13を維持し続けるだろうが。

長い間、開発チームは3への円滑な移行を確保するために、バージョン2.14がなければならないと信じていますが、研究と多くの議論の後、今2.14せずにすべてを確信させました。これは、両方の長所をもたらすでしょう。

  • Scalaの3はすぐに生産に入れられます。コンパイラと関連ツールのアップグレードを向上させる観点では、そこにやるべきことがたくさんあり、そしてエコシステムのアップグレードを支援します。

  • 2.14 Scalaのライブラリやツールので、Scalaの3を準備するために、時間のメンテナンススタッフを節約、エコシステムを再構築する必要はありません。

主な目的は、この目的を達成するための平滑化スカラ2-3および増分移動経路から出力されるコンパイラと同じように、その後端部を提供することであり、スカラ2.13及び3.0標準ライブラリが同じバイトコードを使用します。

標準の共有ライブラリ

標準ライブラリ排除にScalaの2.13と3の間に大きな電位差を共有し、移行に貢献しています。

しかし、この手段は、標準ライブラリのバイナリ互換性のない変更は、Scalaの3.xのシリーズ以降のバージョンまで待たなければならないことを、バイナリ互換性のないツールを改善する必要があります。より具体的には、追加したり、任意のクラスまたはメソッドを削除することはできません従ってスカラ2.13のでフォワード維持し、そのシリーズ内の下位バイナリ互換性、および。

これらの制限の標準ライブラリ外の開発が急務中の2-3からの移行した場合、開発チームは、まだScalaの2.14の最終版を公開することもできます。

共有ABI

標準ライブラリに加えて、ABI、スカラ3.0及び2.13を共有することによって、ワークに共存することができるテストと段階的な移行を簡素化することができ、シームレスとクラスパス上で相互運用することができます。

現在、Scalaの3が後方互換性を持っている、それはScalaの2.13によって構築されたライブラリを使用することができます。後方互換性のために、スカラ3コンパイラは、それが中にスカラ2.13で使用できるように、共通言語サブセットに共通のインターフェースを確保するためのメカニズムを提供します。いくつかのスカラ3は、Scalaの2.13からアップグレードすることなく、コンテンツ開発者のライブラリとして直接使用することができることをこれが意味。

技術的な相互運用性に加えて、開発チームは、スムーズな移行を確保するためのテストと改善のツールに焦点を当てます。例えば、本来はバージョン2.14での移行の警告のためにスケジュールは2.13で実装されます。

また、Scalaの公式はまた、抽象構文木おいしいハンドルのバイナリ互換性の問題の種類を使用する方法2020年の終わりの前に最初のリリース候補を発表した戦いを含め、関連する多くの問題を記載されている、マクロは2.xから直接移行することはできません3.0、およびパフォーマンステストツールとIDEのサポートに、詳細は公式の説明をご覧ください:

https://www.scala-lang.org/2019/12/18/road-to-scala-3.html

おすすめ

転載: www.oschina.net/news/112322/road-to-scala-3