您所在的位置:开发 > Java > Java+ > Scala 2.8最终发布 全新功能值得期待

Scala 2.8最终发布 全新功能值得期待

2010-07-15 09:19 黄永兵 51CTO快译 字号:T | T
一键收藏,随时查看,分享好友!

Scala 2.8终于来啦!经过许多、许多个月的艰苦工作,Scala团队激动地向我们宣布新的、期待已久的Scala的稳定版本——全新的Scala 2.8.0来啦,现在就可以从Scala的下载页面进行下载。Scala 2.8.0代码库包括一个对Scala 2.7.7大量错误的修正,Scala 2.8的新功能更令人印象深刻。请阅读下面的更多详情!

AD:

【51CTO快译】Scala 2.8终于来啦!经历了7个RC版本,Scala终于迎来了2.8.0的Final版本,这是修正了大量Bug和增强了若干特性的最终版本。(请关注51CTO特别推荐专题:Scala编程语言

经过数月的艰苦作战,Scala团队终于在昨天正式发布了Scala 2.8.0稳定版本,现在就可以从Scala的下载页面进行下载:http://www.scala-lang.org/downloads#

Scala下载页面

Scala下载页面(包括支持windows、Mac OS、Linux和Unix等操作系统的开发包)

该版本在2.7.7的基础上修复了大量Bug,并添加了大量的新特性,下面就让我逐个道来吧!

新特性

Scala 2.8.0包括以下新特性:

1、重新设计的集合库

Scala 2.8对集合库进行了全面的重构,提供了更加一致和有效的设计,同时保持了与现有源的完全兼容。

2、新的数组实现,支持多态

在Scala 2.8中,对数组的处理进行了简化和优化,以前的编译器已经被一个更系统化和可预知的实现取代。

3、类型特殊化

Scala 2.8增加了专门的类型参数,使编译器可以根据给定的定义透明地生成多个版本。

4、命名和默认参数

命名参数改善了包含多个参数的方法调用可读性,默认参数减少了代码重复度,并为case类代码提供了“copy”方法,可以快速生成case类代码。

5、包对象

除了可以包含类和对象外,包现在也可以包含方法、字段或类型别名了,通过声明一个包对象就可以将它们添加到一个包中了,在以后的版本中还有更多的功能添加到包对象中。

6、增强了Scala Swing库,并提供了更好的参考文档

组件发布关键事件,输入事件,重构窗口子层,额外的demo,Swing监听器,更完整的组件缓存,Bug修复,更好的参考文档等。

7、REPL翻新

修复了许多Bug,Tab键自动完成classpath中的所有包,以及对象,实例方法和字段,包括对象别名和包对象,可搜索的历史,集成Shell访问,并提供了一个超级模式,可直接进入编译器内部。

8、隐式转换

完善了隐式转换过程,现在可以确定类型的变化。

9、改进的等于比较

数值型比较现在和所有基元类型的比较一致了,同时也遵守等于/hashCode约定。

10、Packrat分析器组合

分析器组合现在可以处理左递归语法,并改进了性能。

11、改进的XML库

修复了XML库的许多Bug。

12、类型推断

类型推断已经扩大到处理类型构造,因此在某些情况下,你可以省略包含高度友好类型的类型参数列表。

13、改进的注解

Scala 2.8增加了对嵌入式Java注解的支持,对于字段的注解,现在可以指定哪个成员(getter / setter)将有注解。

14、增强的Actor

新的Reactor提供了轻量级,纯基于事件的Actor,并可以隐藏发送者身份,支持后台守护进程风格的Actor,Actor可以配置用于高效的JSR166y fork/join池,显著地提升在1.6 JVM上的性能。调度程序现在也是可插入的,且更容易定制。

15、支持延续

延续是通过一个编译器插件支持的,现在已经成为主要发行版的一部分。

内部改进

1、改进的编译器

在Scala编译器内,IDE可以与之挂钩,提高查找程序结构相关信息的效率,也为开发IDE插件提供了更好的平台。

2、新的生成管理器

可以智能检测发生变化的文件,只编译需要的Scala源文件,不用每次都执行完整的项目生成操作,这个技术极大地减少了大项目的编译时间。

3、速度改善

编译器现在运行的是优化后的代码,此外,一系列改善措施和精细的调整使编译器速度提升了一半。

Bug修复

Scala 2.8修复了数百个Bug。

其它工具

1、Scaladoc 2

崭新的外观,自动化的注解扩展和类wiki语法,以及编译时错误检查。

2、Sbaz 2

Sbaz包括许多Bug修复和改进,它现在可以使用cmd或cygwin在Windows下正常工作,并增加了自动更新功能,增加了对pack200的支持,在某些情况下,可以将文件大小减少70%。

3、Scalap

包含了由社区贡献的新版本Scalap,新的Scalap可以识别包对象,并可以使用<package_name>.package来反编译包。

4、Scala IDE for Eclipse

重写了Scala IDE,许多功能都转移到编译器中去了,增强了代码可维护性,也便于非Eclipse IDE和其它工具重用,此外,加深了与Eclipse JDT的集成,许多Scala特定的行为和功能现在直接由JDT提供。

原文出处:www.scala-lang.org/node/7009

原文名:Scala 2.8.0 final

【51CTO译稿,非经授权谢绝转载,合作媒体转载请注明原文出处、作者及51CTO译稿和译者!】

【编辑推荐】

  1. Scala 2.8.0 RC2正式发布 新特性一览
  2. Scala 2.8第一个候选版发布 Bug修正成重点
  3. Scala 2.8.0 Beta 1发布
  4. Scala 2.8的for表达式:性能与运行顺序的改进
  5. Scala 2.8新特性之命名参数概览

【责任编辑:立方 TEL:(010)68476606】




分享到:

热点职位

更多>>

热点专题

更多>>

读书

安全模式:J2EE、Web服务和身份管理最佳实践与策
本书全面阐述Java应用安全的基本知识并介绍一种强大的结构化安全设计方法;介绍独立于厂商的安全架构;列出详细的评估核对表以及

51CTO旗下网站

领先的IT技术网站 51CTO 领先的中文存储媒体 WatchStor 中国首个CIO网站 CIOage 中国首家数字医疗网站 HC3i