當開創性特性已經普及,Scala未來將走向何方?

作者 | Tim Anderson
譯者 | 平川
策劃 | Tina
本文最初發佈於 DEV CLASS。
Scala 的建立者 Martin Odersky 以及關鍵庫的作者與維護者李浩毅描述了他們對 Scala 語言未來的規劃,並希望 Scala 能在現代程式設計領域保有一席之地。
該開源語言於 2003 年首次釋出,其最大特點是融合了函數語言程式設計和麵向物件程式設計。Scala 主要是編譯成 Java 位元組碼,不過也可以使用 Scala.js 編譯成 JavaScript 。流行的事件流平臺 Apache Kafka 主要就是用 Scala 編寫的,Scala 還是 Apache Spark 的核心語言,用於資料分析和機器學習。
李浩毅是 Databricks(一家廣泛使用 Scala 的分析公司,由 Apache Spark 的初創者建立) 的軟體工程師。
根據 Odersky 和李浩毅的觀點,Scala “不再像 2010 年代中期那樣風頭正勁”,但在主流語言之外還是保有一席之地。儘管如此,從他們的文章中,我們還是能感受到一些對 Scala 未來的擔憂,其中提到了 IDE 支援不佳和可學習性等問題,並將凍結所有特性開發的呼籲描述為 “共同的要求”,但這將註定 Scala 語言的 “停滯和失敗”。
在語言作者看來,Scala 是一種邊緣語言,它提供了更多的特性,但在完善性和穩定性方面不如 Java;但它的這種地位已經被 Java 和 Kotlin 等其他語言的進步所削弱。至少在 JVM(Java 虛擬機器)生態系統中,Scala 首創了 lambdas 和模式匹配等特性,但他們也寫道,“Scala 過去獨有的很多功能現在都很常見了。”
Odersky 和李浩毅為 Scala 及其社群設定了一系列目標,其中包括:
  • 透過顯式 null 等特性提高安全性,預設情況下型別不可為空;
  • 提供更多的便捷特性,如命名元組,允許透過名稱引用型別元素;
  • 解決長期存在的問題;
  • 提高可學習性,例如優先考慮較簡單庫(包括 Scala 工具包)的程式碼和文件,並儘可能使 Scala 語法與其他語言保持一致;
  • 改進整合開發環境(IDE)支援,包括改進 VS Code 使用的 Scala 語言伺服器 Metals ;
  • 改進構建工具,因為許多人認為,標準構建工具  sbt  過於複雜,儘管它的名字是 “簡單構建工具” 的首字母縮寫。
儘管這些目標看起來很合理,但可能還不足以改變 Scala 的地位並使其再度流行。
2021 年 5 月釋出的 Scala 3 是一次重大更新,但與 Scala 2 並不完全相容。2023 年的一項調查發現,只有 49% 的 Scala 開發人員在使用 Scala 3。當語言設計者釋出經過改進但不相容的版本時,就會出現這種典型的問題;儘管有好處,但也往往會破壞生態系統,和 Python 2 和 3 的情況一樣。
一位仍在使用 Scala 2.13 的開發人員說,“Scala 的情況似乎比 Python 更糟糕。這門語言看起來完全不同,而且沒有一個簡單的遷移路徑“。
另一位開發人員則反駁說,”Scala 3 才是 Scala 真正的樣子。這門語言近乎完美,最重要、最流行的庫和工具…… 都已經支援新版本多年了“。
原文連結:
https://devclass.com/2025/03/25/the-future-of-scala-pioneering-features-are-now-commonplace-so-what-comes-next/
宣告:本文為 InfoQ 翻譯,未經許可禁止轉載。
今日好文推薦
Meta開源Llama 4,正面迎戰 DeepSeek!經過重新設計,首次採用MoE
DeepSeek打擊面太廣!新論文疑是R2釋出前兆,奧特曼火速“應戰”:o3即將上線,GPT-5免費放送!
“我已經過時了!”83歲圖靈獎大師、龍書作者在大模型時代的技術焦慮:新技術越來越難以適應
3人2個月日夜開發奠定微軟基石!微軟50週年蓋茨公開歷史性原始碼,“圓謊”成就的程式碼傳奇

相關文章