写点什么

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:045262
用户头像

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

关注

评论

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

PS磨皮滤镜降噪插件套装 Imagenomic Professional Plugin Suite 支持ps2024

Rose

photoshop 2021安装教程 ps2021中文版 mac/win

Rose

Macs Fan Control for mac:提高设备的散热效果,减少过热造成的风险

Rose

开源之夏2024学生报名启动!阿里云PolarDB社区项目期待你的参与!

阿里云数据库开源

数据库 阿里云 学生开发者

MacDroid pro:打破Android和Mac系统之间的传输障碍

Rose

基于阿里云向量检索 Milvus 版与 PAI 搭建高效的检索增强生成(RAG)系统

阿里云大数据AI技术

人工智能 阿里云 Milvus

激发大数据场景价值,润和软件HopeOS闪耀鲲鹏昇腾开发者大会2024

科技热闻

LED显示屏技术升级方向解析

Dylan

工具 LED显示屏 全彩LED显示屏 led显示屏厂家 舞台表演

万界星空科技商业开源MES+项目合作+商业开源低代码平台

万界星空科技

低代码平台 mes #开源 开源mes 万界星空科技

"Global Golden Course" - Certified ScrumMaster (Delivered in English at weekend)

ShineScrum

Scrum Agile ScrumMaster Agile Coach

谷歌访问助手,解决chrome扩展无法自动更新的问题

Rose

在iPhone / iPad上轻松模拟GPS位置:AnyGo for Mac中文破解资源

Rose

枫清科技(Fabarta )再获“鑫智奖”,推动金融数智化与智能营销创新

Fabarta

Downie 4 mac视频下载器:自动检测和下载指定网站上的最新视频

Rose

软件测试学习笔记丨后端接口开发 - MyBatis 传统开发方式

测试人

软件测试

芯盾时代智能风控决策系统信贷版

芯盾时代

监管合规 风控系统 金融业 信贷

带你熟悉CCE集群增强型CPU管理策略enhanced-static

华为云开发者联盟

Kubernetes 华为云 华为云开发者联盟 华为云CCE 企业号2024年5月PK榜

腾讯互娱面经,希望别凉

王中阳Go

Go 面试 微服务 大厂面经 Go进阶

解析 cURL 命令的功能和特性

Apifox

后端 后端开发 API curl 网络请求

OpenHarmony 成功亮相国际学术会议 ASPLOS 2024

科技热闻

Mint Blockchain,要让全人类都拥有 NFT 资产!

NFT Research

web3 NFT\ L2

碳课堂|一文读懂全球碳标准的前世今生

AMT企源

碳管理 碳核算 碳认证

这款PDF解析工具,精准触达大模型问答应用的需要

合合技术团队

人工智能 PDF OCR LLM

了解AI长文本工具:Kimi Chat与ChatGPT区别对比

蓉蓉

ChatGPT Claude

速度围观|使用分布式企业级任务调度平台,到底有多香?

智在碧得

数字化转型 XXL-JOB 任务调度平台 http任务 elastic job

Imagenomic Portraiture 4.5 ps智能磨皮滤镜插件

Rose

软件测试学习笔记丨后端接口开发 - MyBatis 代理开发

测试人

软件测试

大语言模型 —— AI时代的文字计算器?

Baihai IDP

程序员 AI 白海科技 企业号 5 月 PK 榜 LLMs

Scala的未来_Scala_Matt Raible_InfoQ精选文章