Scala 2.8 Beta 1发布

来源:infoq 作者:infoq
  

今天,万众期待的Scala 2.8 Beta1终 于发布了。

相比于2.7.7版,新版本修复了大量bug,同时增加了很多新特性。该Beta版将成为几个月后发布的2.8.0正式版的基 础。

小版本号的增长(相对于2.7.7来说)并不能恰当地反映出语言所发生的巨大变化。但遗憾的是,Scala 2.8并没有做到与2.7分支的二进制兼容。

该版本的一些新特性列举如下(请查看发布声明以了解全部新特性):

Scala 2.8 Beta 1发布

重新设计的集合库

Scala的集合库经历了翻天覆地的变化——全部重新设计。现在不仅可以更加轻松地实现新的集合,用户还会享受到这么做的各种好处(几乎完全向后兼 容),正如Daniel Sobral在Scala-User邮件列表中所述:

Scala 2.7无法做到从一个“Map”中返回另一个“Map”,而这应是必备的功能。为了能够实现类似的功能点,我们才重新设计了Scala 2.8的集合库。

大家可以访问Scala站点以深入了解新的集合库。

具名(Named)与默认参数

Scala 2.8还增加了新的语言特性,如新的具名与默认参数。具名参数就好像 是给被调方法的形式参数名赋值一样,如下代码片段所示:

def resize(width: Int = 800, height: Int = 600) = { ... }
resize(width = 120, height = 42)

具名与默认参数经常搭配使用,我们可以根据参数名称为参数赋值,同时对其他参数使用默认值,如下代码片段所示:

resize(height = 42) 

这些创新还被应用到了另一个新特性当中: case class具有一个copy方法,其参数默认为当前值。借助于具名参数,我们可以有选择地修改被拷贝实例的值,请参 看Scala站点以深入了解该主题。

改进的交互式解释器

Scala的交互式解释器现在变得越来越强大了,可以通过tab键实现包名、类名和成员的自动完成功能。该特性使用到了反射,不仅可以用于 Scala代码,还适用于Java。请参看Arjan Blokzijl的博文以深入了解该特性。

改进的Eclipse插件

新版Scala Eclipse插件将随同Scala 2.8一起发布。其与JDT的集成获得了极大的改进;新的构建管理器使得代码编辑变得更加快速,可靠性也更好。Scala Eclipse插件的主力开发者Miles Sabin详细(PDF)介绍了去年所进行的工作。

InfoQ还采访了Miles以深入了解该IDE的当前状况和未来 发展。该IDE将支持Scala 2.8,但还会支持Scala 2.7么?

目前该IDE是链接到编译器上的...所有IDE都是通过编译器实现语法感知特性的。除了2.8以外,我们可以适当降低两者间的 依赖来支持多个版本,但遗憾的是并不能支持更早的版本。这里我推荐大家使用单独的Eclipse从事2.7和2.8的开发工作。

最近有消 息称Scala IDE将具有独立的发布计划,这么做的意图是什么呢?

随着2.8版的发布,IDE的基础将更加牢固。现在正是快速发展的时期,我们需要拥有比Scala更快的发布周期。

关于IDE的未来,你有什么规划呢?

我的目标是让Scala IDE变得像Java IDE那么棒。尽管还有不少路要走,但我们相信这是可以实现的。
当2.8正式版发布时,我希望能够有一个面向该IDE的Web资源库,它将承载随后版本发布的相关信息,搜集关于IDE现有但零散的文档与资源,最终成为 用户和贡献者的交流中心。

当然了,支持2.8的IDE不是只有Eclipse一个,NetBeansIntelliJ也 在开发自己的工具。

Scala Days 2010

4月15—16日,众多的Scala爱好者将齐聚Scala诞生地——瑞士洛桑的EPFL来庆祝首届Scala Days,“交互意见并实现业务往来,同时探索关 于Scala语言的最新实践和理论上的开发点”。

下载Scala 2.8 Beta, 别忘了报告bug和问题以便我们在正式版发布前将其消灭掉,正式版将于几个月之后发布。

查看英文原文:Scala 2.8 Beta 1 Released


时间:2010-02-01 08:26 来源:infoq 作者:infoq 原文链接

好文,顶一下
(9)
100%
文章真差,踩一下
(0)
0%
------分隔线----------------------------


把开源带在你的身边-精美linux小纪念品
无觅相关文章插件,快速提升流量