写给 Java 开发者的新 Scala 教材

  • Rob Thornton
  • 宋玮

2008 年 1 月 31 日

话题:Java编程语言Scala语言 & 开发

Scala继续制造着新闻,又添了两个更多的教材系列,一个是由 IBM developerWorks 的 Ted Neward 所编写的,另一个是由 Daniel Spiewak 所写的博文。

Neward 的教材系列刚刚开始,它是为忙碌的 Java 开发者所准备的 Scala 指南。上个星期,第一部分《面向对象的函数编程》已经发表了。Spiewak 在一月初也开始了他的《针对 Java 难民们的 Scala》系列,他的第四部分《模式匹配和异常处理》在 1 月 30 日也已经发表了。

Scala 新闻最近占据了不少“版面”(参见 InfoQ 的讨论摘录),而 Neward 文章以“Java 正日渐苍老”作为开始章节,尤其参照摩尔定律而言。

实际上,业界有许多东西都与摩尔定律显著相关。自 2002/2003 年起,在微处理器界增长趋势导致多“核”CPU 的产生:其实是包含多 CPU 的单个芯片。这回避了摩尔定律(CPU 速度每 18 个月翻一番)。让多线程环境同时在两个 CPU 上执行,而不是标准的在单 CPU 上进行时间片循环,这就意味着如果代码要工作正确,在线程安全方面就必须象岩石般结实。……并发处理是真正要关心的问题,一些新的语言提供了强大的功能作为响应,但是太多的社团和企业记得从 C++ 移植到 Java 平台仅仅只有 10 年时间。转移到一个新的平台是一种风险,对于这种风险许多公司甚至没有认真考虑。实际上,许多公司仍然在疗养上次迁移到 Java 平台所造成的伤疤。

Neward 的教材提供了对函数概念的概览,接着讨论了 Scala 怎么提供函数并用闭包进行包装。Spiewak 的系列更长,涉及了更多细节。他将目标锁定在那些经验丰富的 Java 开发者身上,这些开发者听到了动态语言的喧哗,但是却担心将动态类型用于构建企业级应用会产生不好的效果。

好消息是人们看到了曙光。有一门新的语言出现了,它如暴风雨般席卷了开发者世界。Scala 看起来提供了你曾苦苦寻找的一门语言应具有的一切:静态类型、编译至字节码(这样你可以在所有旧的 Java 服务器上运行它)、简洁及表现力丰富的语法。……你可以用 Scala 编写你的 Java 应用程序。你需要的仅仅是正确的引导。

在第一篇文章中,Spiewak 以一个简单的 Hello World 例子开始,一直覆盖到迭代和内置类型。在他的第二篇文章中涉及了面向对象概念,包括类、抽象方法以及构造器。他的第三篇文章深入到了访问限制、方法重载以及 Scala 的静态方式。他的最近一篇文章涉及到了模式匹配、case 语句以及异常处理。

查看英文原文:New Scala Tutorials for Java Developers

Java编程语言Scala语言 & 开发