编程语言:2008 年回顾和 2009 年预测

  • Sadek Drobi
  • 张凯峰

2009 年 1 月 12 日

话题:Java.NETRuby编程语言ScalaC#C++架构语言 & 开发

去年初,Ehud Lamm 发在 Lamba the Ultimate 上发起了一份邀请,邀请博客们分享他们对于 2008 年编程语言领域的预测

虽然很多人争论说因为当前的模式和架构的限制,并发并不会发展到什么程度,但并发还是成为了年度预测中排在前面的主题之一。大家表现出同样矛盾心理的还有函数式编程语言。原本预测将要“撼动世界”的 Haskel 没有像预想的那样得到广泛应用,但其为更多主流编程语言提供了创新特性的灵感。一般说来,有些博客预测“没有哪门函数式语言会变得特别流行”,而另一些博客则对 F# 和 Scala 能获得更多关注持相当乐观态度,至少从一些使用 F#/C# 或者 Scala/Java 组合的多语言项目开发中看来是这样。而对于其他的编程语言,原本预计 Java 会确立更加稳固的地位。而 Ruby 会因为 Rails 的下降趋势而渐渐衰落。相反,C++ 会因为它的 2009 年新 ISO 标准而“变成”2008 年的年度语言”,Javascript 会获得更多的动力。

作为对这篇帖子的回复,James Iry 请求博客们在 2008 年底就“2008 年编程语言领域有哪些值得关注的内容”分享他们的观点。

在评估去年预测的有效性时,Key Schluehr 认为并发距离年度主题日渐遥远。在他看来,如果有一个主题的话,那就是“云计算”,尽管他认为“这跟计算一点关系都没有”。他还断言,就像 Morris Johns 期望的那样,没有哪门函数式语言会变得非常流行,虽然很多其他的博客不同意这点。

James Iry 争辩说,虽然没有哪门函数式语言有 Java 或者 Ruby 那样的流程程度,“但事实是这些去年涌现出来的语言在主流的领域中产生的影响即便不是显著的,那也是巨大的。”Eli Ford 特地提到“F# 在去年九月份有了自己的 CTP(Community Technology Preview),并会和 C# 和 VB 一起在 Visual Studio 2010 中得到支持”。Sean McDirmid 也说道“就特殊语言的发展,2008 年对于 Scala 来说无疑是个不错的年头”。“Clojure”,在去年的讨论中压根就没有被提到过,但 Chris Rathman 坚持它就是年度发现,他相信它就是一个“将已有概念集成到编程语言中去”的很好的例子。

除了 Scala,Sean McDirmid 还提到了 Objective C“能成为 2008 年最热门的语言是得益于 iPhone SDK”,并且他相信 2008 年也是 C 语言的收复失地之年,它的不同变种正在用于“编写 GPU 硬件(HLSL、CUDA、OpenCL……)”。

另外一方面,一些博客特地提到去年并不是 Java 很风光的一年。Sean McDirmid 断言“JavaFX 来得太晚,并不会有什么大出息”。如果博客们对于 Java 未来的担心是正确的话,那么 Daniel Weinreb 的话无疑让大家放心了一些,“Java 应用的领域如此广泛,所以我们不可能看到它很快地消失”,而根据 James Iry 所说,“Java 还会在很长一段时间内成为 IT 经理们最感安全的选择”。其他的人则怀疑 Sun 能否有能力度过当前的危机,并揣测 JVM 未来或许有 IBM 或者 Google 加入进来。

这场讨论从 2008 年一直进行到了 2009 年,而且很多更新的预测也加入了进来。在函数式编程领域,James Iry 期望 Clojure 和 Scala 团队能贡献出更加伟大的特性,而 Falcon 坚称“2009 年是 Clojure 年而不是 Scala 年”,并预期 F# 最后会吸引主流.NET 开发者的注意。Ross Smith 则坚持他去年的预测:函数式语言会成为主流,而不是仅仅会合并到已经存在的过程式和 OO 语言中。他还相信“新的 C++ 标准最后会成为官方的”,“并发,包括 GPGPU 应用,会继续提升其分量”,“Python 会开始让用户感觉痛苦,因为它对于并发性没有很好的支持”,而“JavaScript 会继续攀升”。

Xscott 同样相信对于 JavaScript 的预测,“它最后会成为流行的服务器和应用程序脚本语言,这主要取决于它的不同的 JIT 编译实现”,而 Kay Schluehr 则相信 JavaScript 不会“突破自己的小圈子”。另一方面,他觉得“编程的美好未来之一就是普通程序员而不是核心开发者开始对 Perl 6、Rubinius 或者 PyPy 产生兴趣。”

Kaveh Shahbazian 相信“2009 年将会发生的是发现一些新的方法来使用脚本编程”,并提到 Lua 就是一个成功的例子。最后一点也很重要,Sean McDirmid 预测“动态和静态之争将不会有什么新的进展。”

查看英文原文Programming Languages: 2008 Review and Prospects for 2009

Java.NETRuby编程语言ScalaC#C++架构语言 & 开发