2025上半年,最新 AI实践都在这!20+ 应用案例,任听一场议题就值回票价 了解详情
写点什么

当开创性特性已经普及,Scala 未来将走向何方?

  • 2025-04-18
    北京
  • 本文字数:1161 字

    阅读完需:约 4 分钟

当开创性特性已经普及,Scala 未来将走向何方?

本文最初发布于 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/

2025-04-18 08:009317

评论 1 条评论

发布
用户头像
未来就是有一个编译器可以单独编译成本地程序,不依赖JVM的。
2025-04-19 17:29 · 北京
回复
没有更多了

PoseiSwap 更新第二期空投,持有 Zepoch 节点数量将决定空投回报

BlockChain先知

代码随想录训练营 Day09 - 字符串(下)

jjn0703

深入解析Redis的LRU与LFU算法实现

vivo互联网技术

redis LRU LFU

在现场!2023世界人工智能大会

新云力量

人工智能 AI 人工智能大会

拥抱抑郁,制心一处,一切美好是深度投入的产物

B Impact

企业内容管理升级 3.0:构建生态协同,助力合规成长

风来兮

软件 电子档案 OCR 合规 #人工智能

区块链生态架构 | 社区征文

TiAmo

区块链 Baas 年中技术盘点

王海峰最新发声!

飞桨PaddlePaddle

人工智能 百度 paddle 飞桨 百度飞桨

Pytorch: 数据读取机制Dataloader与Dataset

timerring

人工智能

3DCAT实时云渲染助力VR虚拟现实迈向成熟

3DCAT实时渲染

实时渲染

PoseiSwap 更新第二期空投,持有 Zepoch 节点数量将决定空投回报

股市老人

5个祖传的Python自动化办公项目,治愈你的抑郁

程序员晚枫

Python 微信 自动化 机器人 办公

万字血书React—走近React

不在线第一只蜗牛

React 教程分享

知识图谱之《海贼王-ONEPICE》领域图谱项目实战(含码源):数据采集、知识存储、知识抽取、知识计算、知识应用、图谱可视化、问答系统(KBQA)等

汀丶人工智能

自然语言处理 知识图谱 信息抽取

手把手教学构建证券知识图谱/知识库(含码源):网页获取信息、设计图谱、Cypher查询、Neo4j关系可视化展示

汀丶人工智能

人工智能 自然语言处理 nlp 知识图谱

中国大模型的落地DNA,写在这个双螺旋结构里

脑极体

AI

提升UE5写实效果的项目设置

3DCAT实时渲染

虚幻引擎5 UE5

2023-07-06:RabbitMQ中的AMQP是什么?

福大大架构师每日一题

Rabbit 福大大架构师每日一题

谈谈我这两年的前端开发经验

树上有只程序猿

INFINI Labs 产品更新 | Easysearch 新增 kNN 搜索功能、Console 支持 LDAP 认证登录等

极限实验室

console Gateway 产品更新 easysearch 极限科技

智能电视APP鲜时光,如何应用AB测试打造极致的用户观看体验?

字节跳动数据平台

户外led显示屏常见规格有哪些

Dylan

广告 屏幕亮度 像素 LED显示屏 户外LED显示屏

Git操作不规范,战友提刀来相见!

树上有只程序猿

国产化适配再进一步,融云完成欧拉、TDSQL、优炫等多方适配

融云 RongCloud

开源 运维 信创 融云 适配

PoseiSwap 更新第二期空投,持有 Zepoch 节点数量将决定空投回报

鳄鱼视界

PoseiSwap 更新第二期空投,持有 Zepoch 节点数量将决定空投回报

西柚子

如何优化Flutter的性能?

没有用户名丶

当开创性特性已经普及,Scala 未来将走向何方?_编程语言_Tim Anderson_InfoQ精选文章