Scala 2.12路线图

Scala官方网站于6月30日发布了Scala 2.12路线图,新版本需要Java 8的支持。以下是该路线图的详细内容,英文原文请点击这里

Scala 的未来

Scala团队最近发表了一篇题为《Scala的下一步计划》的文章,这篇文章对Scala这门语言的未来进行了描述,并对Scala后续的三个主要版本的特性和目标进行了细化:改善语言和它的类库,从而让它变得更容易理解、更加健壮,并且性能更好。

Scala 2.12是下一个主要版本,《Scala 2.12将只支持Java 8》中已有所介绍。而再接下去的两个版本将以代号的方式命名,分别是Aida和Don Giovanni。2.12版的主要目标是与Java 8的互操作性,而Aida则专注于简化集合框架,Don Giovanni将会对语言进行改进,并会提升编译器的速度。Don Giovanni版还计划与项目Valhalla合作,因为这两个项目具有相似的愿景。

项目Valhalla是一个实验性的OpenJDK项目,该项目旨在开发那些同时需要更改语言语法和虚拟机级别支持的主要的Java新特性。其中Scala想要利用的两个Valhalla特性是实现泛型的新方式和值类型。

Scala 2.12 将只支持Java 8

根据近期Scala路线图所公布的信息来看,Scala从版本2.12开始,只能运行在Java 8及之后的版本上。InfoQ找到了Adriaan Moors(Typesafe的Scala技术主管)和Json Zaugg(Typesafe工程师),了解到更多关于这个改动的内容,以及Scala将如何利用Java 8的lambda表达式的细节。

Scala团队做出这个改动的最大驱动力是:

使用Java平台已经给Scala的成功和快速采用带来了帮助。我们热衷于和平台一起逐步发展,享受平台和平台生态系统带来的改进。对lambda表达式的原生支持使得Java 8的虚拟机成为了Scala更好的宿主。

迁移到Java 8对于我们来说是一个很自然的演进。例如,Scala 2.11已经有一个试验性的特性,这个特性是在Java 6上尽可能多地模仿Java 8提供的一些功能。

数据结构学习(1)--概论

在计算机发展的初期,人们使用计算机的主要目的是处理数值计算问题。使用计算机解决一个具体的问题时,一般需要经过下列几步:

1.从具体问题中抽象出一个适当的数学模型

2.设计或选择一个求解此数学模型的算法

3.编出程序进行调式/测试/直至得到最终的解答。

在随着非数值计算问题越来越重要。这类问题的涉及到的数据结构更加复杂,数据元素之间的相互关系一般无法用数学方程式加以描述。解决此类问题的关键不再是数学分析和计算方法,而是设计出合理的数据结构,才能有效的解决问题。

N.Wirth提出:算法+数据结构 = 程序,这里的数据结构是指数据的逻辑结构和存储结构,算法是数据运算的描述。

Which version of Java should Scala 2.11 target?

Building Scala from the Source Code

从源代码(the source code)构建Scala项目是一个非常简单的过程。Ant 工具
被用来控制整个过程。你可以使用任何支持Java的平台来构建Scala项目并
为Scala平台开发者作出贡献。你需要使用安装了Ant的电脑,如果你使用Ubuntu,需要安装"ant_optional"包。

构建Scala

至少1G物理内存的电脑。构建Scala只需要输入如下命令:

$ ant 

测试Scala

你通过运行下面的命令来运行Scala测试套件:

Scala Artifacts on Maven Central - Scala-tools retires

Up to a few weeks ago, all Scala projects required a little bit of extra configuration to point to a custom repository for Scala artifacts hosted at scala-tools.org. Today, life has got that much easier, Scala artifacts are now available directly from Maven Central and Scala-tools will be retired.

Lift 2.4 Released

Lift社区开发者发布了Scala web开发框架LiftLift 2.4 final的最终版,一个非常成熟由Scala开发的 Web框架,现在已经在像Guardian/foursquare和Open Study.已经增加了很多新的特性,同时,修复了大多已知道的漏洞.

Lift开发者和用户体会到由大套全新的改进的好处。他们友好的答复Lift使用者的反馈并使得开发者任务更加的容易。现仅仅提供一小部分:引入了对JSON的支持,Squery/Record 对Crudify的支持,更好的对使用MongoDB的reference records和二进制字段支持,BsonDSL支持(BSON转换成JsonDSL),引入了邮件函数功能,充实了CSS选择器 transformers 和 html5 compliant templates 使用 data-lift特性.

Scala IDE 2.0 for Eclipse 下载

Scala IDE 2.0版的Eclipse插件主要针对两主要Scala分支分别是Scala2.8和Scala2.9.1系列。故Eclispe开发环境对于得版本也有两个。
分别为:

Scala2.8对应的Eclipse开发环境插件的2.0版更新地址:
http://download.scala-ide.org/releases-28/stable/site

Scala2.9.1对应的Eclipse开发环境插件的2.0版更新地址:
http://download.scala-ide.org/releases-29/stable/site

论坛讨论区

Scala 2.8.2 最终版

Scala团队在Scala2.8.x系列中增加了 Scala 2.8.2 final ,现在可以到r Download Page下载到. 这个版本是对之前的Scala2.8.x系列的二进制兼容性做了更新; 对于开发者我们建议使用最新的稳定版本 (currently Scala 2.9.1).

Scala 2.8.2 版本

有什么新特性?

Scala 2.8.2版本修复了很多的漏洞并作了一些改进,特别在以下方面: