Scala的未來

jopen 10年前發布 | 10K 次閱讀 Scala

  英文原文:The Future of Scala

  Scala 團隊最近發表了一篇題為《Scala 的下一步計劃》的文章,這篇文章對 Scala 這門語言的未來進行了描述,并對 Scala 后續的三個主要版本的特性和目標進行了細化:改善語言和它的類庫,從而讓它變得更容易理解、更加健壯,并且性能更好。

  Scala 2.12 是下一個主要版本,在最近的 InfoQ 文章《Scala 2.12 將只支持 Java 8》 中已有所介紹。而再接下去的兩個版本將以代號的方式命名,分別是 Aida 和 Don Giovanni。2.12 版的主要目標是與 Java 8 的互操作性,而 Aida 則專注于簡化集合框架,Don Giovanni 將會對語言進行改進,并會提升編譯器的速度。Don Giovanni 版還計劃與項目 Valhalla 合作,因為這兩個項目具有相似的愿景。

  項目 Valhalla 是一個實驗性的 OpenJDK 項目,該項目旨在開發那些同時需要更改語言語法和虛擬機級別支持的主要的 Java 新特性。其中 Scala 想要利用的兩個 Valhalla 特性是實現泛型的新方式和值類型。

  雖然向后的兼容性并不能得到保證,但是將會構建一個源代碼的遷移工具來支持跨不同版本的構建。普通的 Scala 代碼將可以很容易地進行移植,但是例如像宏(macros)這樣的實驗性的特性將無法得到支持。

  Julian Gamble 是 Clojure Recipes 的作者,他為 Hacker News 的文章添加了一些上下文信息。他提到 Scala 編譯器的首席開發 Paul Philips 在去年曾進行過一次標題為“我們做的一切都錯了”的分享。你可以觀看他分享內容的視頻,或者下載他分享的幻燈片。Gamble 認為《下一步計劃》這篇文章是 Martin Odersky 對這一現狀的回應,而 Gamble 對他的實際行動表示了贊賞。

  根據 Scala 2.12 路線圖,這一版本在 2016 年 1 月之前都不會計劃發布。Hacker News 上的一些人表達了對向后兼容性的關注。Scala 的首席設計師 Martin Odersky 對此作出了回應

我們將會嘗試盡可能靈活地劃清新老版本的邊界,而它們兩者的 lint 工具和語言導入將會是這一工作的重要部分。

同樣也要注意那些我們所考慮的重寫,數量多且相當瑣碎。例如在你每次使用過程調用語法的時候會插入一句": Unit = ",或者會對 xml"""..."""中每一個 XML 字面量進行包裹。

唯一讓我感到有一些不放心的事就是那些試驗性的特性。它們將無法干凈地進行移植,而我現在的建議會是:如果你想你的代碼不經過大量重寫就能通過轉換,那么請不要使用實驗性特性。它們也許很吸引人,但是它們將會給你埋下一個個坑。

來自: InfoQ
                    <span id="shareA4" class="fl">   

                        </span>
 本文由用戶 jopen 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
 轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
 本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!