写点什么

Scala 的未来

  • 2014-08-31
  • 本文字数:983 字

    阅读完需:约 3 分钟

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 字面量进行包裹。

唯一让我感到有一些不放心的事就是那些试验性的特性。它们将无法干净地进行移植,而我现在的建议会是:如果你想你的代码不经过大量重写就能通过转换,那么请不要使用实验性特性。它们也许很吸引人,但是它们将会给你埋下一个个坑。

查看英文原文: The Future of Scala

2014-08-31 14:044976
用户头像

发布了 52 篇内容, 共 22.6 次阅读, 收获喜欢 5 次。

关注

评论

发布
暂无评论
发现更多内容

StarRocks 在 58 集团全业务线的深度实践

StarRocks

数据库

开源一夏 | Java"实现"svn文件对比

六月的雨在InfoQ

svn 开源 文件对比 8月月更

基于SpringBoot的OnlineMusicPlayer项目

bug郭

签约计划第三季 8月月更

地址标准化服务AI深度学习模型推理优化实践

阿里云大数据AI技术

深度学习

大数据开发课程靠谱吗?

小谷哥

Kubernetes Ingress 控制器讲解

CTO技术共享

开源 签约计划第三季 8月月更

兆骑科创海内外高层次人才大赛平台,双创赛事活动举办

兆骑科创凤阁

程序员培训班哪家教的比较好

小谷哥

技术分享| 视频传输Simulcast与Svc

anyRTC开发者

音视频 Simulcast Svc 视频传输

权威发布! 开发人员需要关注的11种顶级恶意软件

SEAL安全

网络安全 软件安全 恶意软件 软件供应链安全

什么密码,永远无法被黑客攻破?

Authing

焱融科技入选“2022 中关村国际前沿科技创新大赛”大数据与云计算领域 TOP10

焱融科技

文件存储 分布式文件存储 获奖

大模型落地实践:同花顺大模型技术应用及优化

澜舟孟子开源社区

人工智能 自然语言处理 预训练模型

头脑风暴:一和零

HelloWorld杰少

算法 LeetCode 数据结构, 8月月更

易观分析:2022年Q2中国跨境进口零售电商市场规模为1171.0亿元

易观分析

报告 跨境进口 零售电商市场

免费云管平台有吗?咨询电话多少?

行云管家

云计算 企业上云 云管平台

Kubernetes Crossplane VCluster构建新集群

CTO技术共享

开源 签约计划第三季 8月月更

在小程序中SVG的打开方式

Geek_99967b

小程序 SVG

leetcode 23. Merge k Sorted Lists 合并K个升序链表(困难)

okokabcd

LeetCode 数据结构与算法 栈和队列

学大数据需要具备什么基础知识点?

小谷哥

零基础web前端学习靠谱吗

小谷哥

数读海南数字经济 | 2022海南数字经济发展指数发布

易观分析

数字经济 经济 海南

聊聊阻容降压原理 和 实际使用的电路

矜辰所致

电路设计 8月月更

产品说明丨 iOS端使用 MobPush 快速集成方法

MobTech袤博科技

ios sdk MobTech袤博科技 mobpush

Redis 介绍

武师叔

8月月更

兆骑科创创投平台,创赛承办,投融资对接,项目落地孵化

兆骑科创凤阁

Kubernetes监控 Harbor

CTO技术共享

开源 签约计划第三季 8月月更

java课程学习难度怎么样

小谷哥

PHP 项目对接视频号原来如此简单,小白也能轻松完成【带附件】

CRMEB

HADOOP学习笔记之HDFS

薛定谔的猫

hadoop hdfs

直播短视频源码——直播与短视频之间的区别如何解决

开源直播系统源码

软件开发 短视频源码 直播系统源码 直播源码 一对一视频聊天系统

Scala的未来_Scala_Matt Raible_InfoQ精选文章