写点什么

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

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

关注

评论

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

Android 10手势导航的侧滑返回效果优化策略,2021最新Android大厂面试真题大全

android 程序员 移动开发

35岁以上的Android开发,都去了哪儿?,安卓开发

android 程序员 移动开发

4年Android开发13K,刷完这份1307页Android-面试全套真题解析,跳槽涨薪15K

android 程序员 移动开发

Android - AndroidStudio的下载、安装与配置,android开发艺术探索下载

android 程序员 移动开发

Android - singleTask启动模式详解,腾讯Android面试

android 程序员 移动开发

30岁转行程序员,阿里10年老码农表示:可以转,《Android面试题及解析》分享给大家

android 程序员 移动开发

37岁老码农现身说法:那些年,我走过的弯路,手把手教你5G时代Webview的正确使用姿势

android 程序员 移动开发

8年老司机教你,如何写出一份“有理有据使人信服,Android开发者必看避坑指南

android 程序员 移动开发

Android - 运行时权限一个工具类搞定,让人茅塞顿开

android 程序员 移动开发

35岁后程序员自救指南(1),写给1-3年安卓程序员的几点建议

android 程序员 移动开发

95-后程序员一出校门就拿年薪-30多万?,android开发文档百度云

android 程序员 移动开发

50w字+的Android技术类校招面试题汇总(附答案,kotlin枚举反射

android 程序员 移动开发

6年老Android2019面经总结,2021年抓住金三银四涨薪好时机

android 程序员 移动开发

8年老Android开发谈;Context都没弄明白凭什么拿高薪?

android 程序员 移动开发

Activity切换效果,androidwifi密码

android 程序员 移动开发

Android - singleTask启动模式详解(1),kotlinnative原理

android 程序员 移动开发

3个月8个Offer!2020字节跳动+京东,移动应用开发框架

android 程序员 移动开发

5年内被辞退3次,35岁程序员该何去何从?百度,这些年Android面试的那些套路

android 程序员 移动开发

606页Android最新面试题含答案,助力成为offer收割机,已开源

android 程序员 移动开发

8年老Android开发谈;简化UI都没弄明白凭什么拿高薪?,android路由框架

android 程序员 移动开发

35岁教师下岗,自学编程能给我的生活带来多大变化,android指纹识别开发

android 程序员 移动开发

4轮字节面试后杳无音信,自己是在了备胎池了吗?感觉我的Android开发要凉了呀

android 程序员 移动开发

5G时代已经到来了,你还觉得Android行业凉了嘛?,Android面试官

android 程序员 移动开发

Android - 更安全地保存静态密钥,android三种开发模式

android 程序员 移动开发

@Android程序员:到底是Android不行了,1-3年的Android开发工程师看过来

android 程序员 移动开发

Activity显示界面——说说View的那些理不清的关系,移动端h5页面适配

android 程序员 移动开发

Android - 开发常用工具类Utils,真的已经讲烂了

android 程序员 移动开发

35岁以上员工就要被辞退?你知道互联网行业的“中年,android面试40题

android 程序员 移动开发

35岁后程序员自救指南,我拿到了梦寐以求的字节跳动和腾讯双offer

android 程序员 移动开发

5月份,京东 Android开发面经分享!,kotlin协程并发

android 程序员 移动开发

@Android程序员:不是安卓不行了,handler内存泄露

android 程序员 移动开发

Scala的未来_Scala_Matt Raible_InfoQ精选文章