【ArchSummit架构师峰会】探讨数据与人工智能相互驱动的关系>>> 了解详情
写点什么

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

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

关注

评论

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

MobPush Android 厂商通道回执配置指南

MobTech袤博科技

什么是 LuaJIT?为什么 Apache APISIX 选择了 LuaJIT?

API7.ai 技术团队

lua api 网关 APISIX API Gateway

来2023全球边缘计算大会与EMQ探讨云边协同落地实践

EMQ映云科技

物联网 IoT 边缘计算 emq 企业号 3 月 PK 榜

【3.17-3.24】写作社区优秀技术博文一览

InfoQ写作社区官方

热门活动 优质创作周报

ChatGPT 出现严重技术漏洞,“当红炸子鸡”翻车了?

这我可不懂

低代码 openai ChatGPT JNPF

Visio 绘图注释工具:VSDX Annotator 激活版

真大的脸盆

Mac Mac 软件 注释工具

GtiHub上点赞已破百万!阿里内部并发编程四套全彩手册开源

架构师之道

Java 程序员 面试

大模型时代的异构计算平台

百度Geek说

人工智能 深度学习 AI 企业号 3 月 PK 榜

面试官:kafka分布式消息系统,你真的了解吗?

做梦都在改BUG

Java kafka 消息队列 消息系统 消息中间件

这5个有趣、强大的AIGC,你值得拥有

没有用户名丶

OpenAI 发布ChatGPT 插件支持,官方文档译文

B Impact

面试官:说说什么是单点登录?什么是SSO?什么是CAS?

Java你猿哥

Java ssm CAS SSO

浅谈 Java线程状态转换及控制

Java你猿哥

Java 后端 多线程 ssm Java工程师

面试官:给你一段SQL,你会如何优化?

做梦都在改BUG

Java MySQL 数据库 sql 性能优化

linux环境arm64架构编译iotDB

小黄鱼

Thrift IoTDB arm64

来啦!OceanBase DevCon • 2023议程公布!

OceanBase 数据库

数据库 oceanbase

操作系统跻身国家战略,中国操作系统开源社区走向何方?

OpenCloudOS

Linux 操作系统 DPU 大禹智芯 opencloudOS

保姆级教程!玩转 ChunJun 详细指南

袋鼠云数栈

大数据 开源

活动回顾|龙蜥社区云原生 SIG 首届 MeetUp 圆满落幕 持续打造面向云时代的竞争力

OpenAnolis小助手

开源 云原生 Meetup 龙蜥社区 sig

火山引擎基于 Dragonfly 加速实践

SOFAStack

开源 开发者 开发

阿里面试:100个高频Spring面试题,助你一臂之力

Java你猿哥

Java spring 面试 Spring Boot 面经

Nautilus Chain主网上线在即空投规则公布,如何获得更多的空投?

西柚子

MQTT安全专题01|构建可靠的物联网系统

EMQ映云科技

物联网 IoT mqtt 物联网安全 企业号 3 月 PK 榜

2023年中国品牌全域智能营销白皮书

易观分析

营销 品牌

JVM超神之路:金三银四跳槽需要的JVM知识点,都给你整理好了

Java你猿哥

Java 面试 JVM 面经 Java工程师

深入理解Spring注解机制:注解的搜索与处理机制

Java你猿哥

Java spring Spring Boot ssm Spring注解

江苏银行与易观千帆达成合作,打造金融服务“新样本”

易观分析

金融 银行 经济

周杰伦在唱什么?数据可视化告诉你!

博文视点Broadview

真香!180页100+题15W+字解析的《Java高级面试指南》,果断收下

做梦都在改BUG

Java java面试 Java八股文 Java面试题 Java面试八股文

硬核!最全“Java面试宝典+Java核心知识集”,一箭双雕杠春招

做梦都在改BUG

Java java面试 Java八股文 Java面试题 Java面试八股文

接招吧!最强“高并发”系统设计 46 连问,分分钟秒杀一众面试者

做梦都在改BUG

Java 系统设计 高并发

Scala的未来_Scala_Matt Raible_InfoQ精选文章