歡迎您光臨本站 註冊首頁

Scala 路線圖:跳過 2.14,明年上 Scala 3

←手機掃碼閱讀     admin @ 2019-12-25 , reply:0

Scala 官方公布了 Scala 2 接下來的發展計劃,開發團隊表示工作將轉向 Scala 3,而不是開發 Scala 2.14。

重點雖然轉移到 Scala 3,但將繼續維護 Scala 2.13,以確保社區有足夠的時間謹慎地過渡到 Scala 3。

長期以來,開發團隊認為必須有 2.14 版本才能確保順利過渡到 3,但是經過大量的研究和討論,現在確信完全不需要 2.14。這樣可以帶來兩方面的好處:

  • Scala 3 將可以更快地投入生產環境。在完善編譯器和升級相關工具方面,有許多工作要做,同時將幫助生態系統升級。

  • 無需為 2.14 重建 Scala 庫和工具生態系統,從而節省了維護人員的時間以準備 Scala 3。

主要目標是提供從 Scala 2 到 3 的平滑且增量的遷移路徑,要實現此目的,Scala 2.13 和 3.0 將使用相同的標準庫,並且它們的編譯器後端將以相同的方式輸出位元組碼。

共享標準庫

共享標準庫消除了 Scala 2.13 和 3 之間的主要潛在差異,並有助於遷移。

但是,這也意味著對標準庫的二進位不兼容更改將不得不等到 Scala 3.x 系列中的稍後版本,屆時將擁有補救二進位不兼容的工具。更具體地說,由於 Scala 2.13 在其系列之內保持向前和向後二進位兼容,因此無法添加或刪除任何類或方法。

如果在從 2 到 3 的遷移期間,迫切需要在這些限制之外發展標準庫,開發團隊可能最終仍會選擇發布 Scala 2.14 版本。

共享的 ABI

除了標準庫,通過共享 ABI,Scala 3.0 和 2.13 工件可以共同存於類路徑上並且可以無縫地互操作,這樣可以逐步遷移並簡化測試。

目前 Scala 3 已經向後兼容,它可以使用由 Scala 2.13 構建的庫。為了實現向前兼容,Scala 3 編譯器將提供一種機制來確保公共介面位於公共語言子集中,以便可以在 Scala 2.13 中使用它。這意味著作為庫作者的開發者可以直接使用某些 Scala 3 內容,而無需從 Scala 2.13 升級。

除了技術互操作性之外,開發團隊還將關注於測試和改進工具,以確保順利遷移。例如,原定於 2.14 版本中進行的遷移警告將在 2.13 中實施。

除此之外,Scala 官方還羅列了一些相關問題,包括爭取在 2020 年年底之前發布第一個候選版本、如何採用類型化抽象語法樹 TASTy 處理二進位兼容性問題、宏無法從 2.x 直接遷移到 3.0、以及性能、測試工具與 IDE 支持等,詳情查看官方說明:

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


[admin ]

來源:OsChina
連結:https://www.oschina.net/news/112322/road-to-scala-3
Scala 路線圖:跳過 2.14,明年上 Scala 3已經有117次圍觀

http://coctec.com/news/soft/show-post-221678.html