写点什么

Scala 2.11.0 发布

  • 2014-04-24
  • 本文字数:1026 字

    阅读完需:约 3 分钟

在经过 4 个 RC 版本之后,Scala 2.11.0 正式发布,该版本主要针对 Java 6,并开始试验性支持 Java 8,比如读取 Java 8 字节码、解析 Java 8 源代码。另外,在 2.10.x 系列版本上构建的没有过时警告 Scala 的代码可以在 2.11 平台正常构建。Scala 2.11.0 修复了 2.10.x 中的 613 个 BUG,并在 2.10 系列的基础上做了大幅改进,官方宣称 Scala 2.11 的设计目标是更小、更快、更稳健。

Scala 2.11.0 主要在集合、反射、宏和编译器等方面进行了改进,具体如下:

1. 集合

提高了 Immutable HashMap、HashTable 的 filters、unions、like 方法的执行速度,增加了 LongMap、AnyRefMap 以提升在 Key 为 Long 或者 AnyRef 时的性能,BigDecimal 的 round 操作语义更加明确,并且通过减少不必要的BigInt转换以提升性能。另外 List 的 map、flatMap、collect 性能也得到了提升。

2. 模块化

从 Scala 核心 jar 中拆分出 xml、解析、swing 等模块,这些模块都已经单独提供,另外也对编译器进行了模块化。

3. 反射、宏以及 quasiquotes

请读者参考此文档来了解这部分的变化以及兼容性。

4. 编译器后端

引入新的字节码生成方案 GenBCode ,采用新的方案编译闭包并引入独立的项目 scala.js

5. 编译器优化

增量编译性能得到了明显提升,读者可以升级 sbt 到 0.13.2 版本并添加incOptions := incOptions.value.withNameHashing(true)参数来体验此特性。另外还优化了反射的性能

6. REPL

字节码反编译命令:javap已经支持 Java 7,新加了:kind命令。

7. 改进 -Xlint 警告

新版本的 Scala 会在未使用的 private/local 的 terms 或者类型以及未使用的 imports 时给予警告。

8. 编译器瘦身

移除了.net 编译器后端,重新实现了 Pattern Matcher 的 Bytecode Emitter,还删除了无用的代码。

另外,Scala 2.11.0 对应的 IDE 基于 Eclipse 4.2/4.3(Juno/Kepler) 构建,读者可以参考这篇指南来安装 Eclipse 和 Scala IDE。

相对于 2.10.x,Scala 2.11.0 主要做了一些性能优化、Bug 修复以及过时标记的改进,但对 Java 8 的支持多少有点令人失望,相信 Scala 会在 2.12 系列中增强此部分的功能。读者可以从这里下载最新版本的 Scala。如果不了解 Scala,可以看看由 Scala 的作者亲自录制的视频教程

参考文档:

  1. SCALA 2.11.0 IS NOW AVAILABLE
  2. Hacker News

感谢方腾飞对本文的审校。

给InfoQ 中文站投稿或者参与内容翻译工作,请邮件至 editors@cn.infoq.com 。也欢迎大家通过新浪微博( @InfoQ )或者腾讯微博( @InfoQ )关注我们,并与我们的编辑和其他读者朋友交流。

2014-04-24 20:215171
用户头像

发布了 219 篇内容, 共 151.0 次阅读, 收获喜欢 195 次。

关注

评论

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

数字时代的自我呈现:探索个人形象打造的创新工具——FaceChain深度学习模型工具

汀丶人工智能

人工智能 计算机视觉 图像生成

Linux和UNIX的关系及区别

芯动大师

简洁的看图软件 XnViewMP激活中文最新版

胖墩儿不胖y

Mac软件 看图软件 图像编辑器

运营SOP,高效运营的核心打法

用友BIP

数智营销

Mac具有AI技术的创意图像编辑器Luminar Neo

展初云

Mac软件 AI技术图像编辑 图像编辑工具

数字孪生5G智慧工厂3D可视化云平台

2D3D前端可视化开发

物联网 可视化 数字孪生 智慧工厂 智能制造

Python 集合(Sets)2

小万哥

Python 程序员 软件 后端 开发

【评测有奖】参加 SAE 2.0 产品评测,赢 Airpods 2 大奖!

阿里巴巴云原生

阿里云 Serverless 云原生

全网最细-深度解析 Istio Ambient Mesh 流量路径

阿里巴巴云原生

阿里云 云原生 服务网格

BigTime会是链游新的领航员吗?

币离海

软件开发人员 Kubernetes 入门指南|Part 2

SEAL安全

软件开发 kubernetes 运维 企业号10月PK榜

DevEco Hvigor高效编译,构建过程新秘籍

HarmonyOS开发者

HarmonyOS

Mac平台视频后期合成和特效制作软件:Nuke 15

展初云

Mac Mac软件 视频后期制作 nuke

不同MBTI的HR是怎样做招聘的?

用友BIP

数智招聘

GitHub爆赞,啃完这份500多页Java多线程笔记,阿里入职在望

程序员万金游

#java #程序员 #学习 #并发 #多线程

CSS小技巧之绘制心形图案

南城FE

CSS css3 前端 心形

财务共享中心的人员如何进行“选、育、用、留”?

用友BIP

财务共享

基于 ACK Fluid 的混合云优化数据访问(五):自动化跨区域中心数据分发

阿里巴巴云原生

阿里云 云原生 ACK

GTD任务管理器Omnifocus Pro 3,合理规划自己的时间

展初云

Mac GTD 待办记事软件

Scala 2.11.0 发布_Scala_小盖_InfoQ精选文章