投递人 itwriter 发布于 2011-11-10 14:43 评论(1) 有542人阅读  原文链接  [收藏]  « »

  英文原文:Java is not the new COBOL

  导读:COBOL(Common Business Oriented Langauge)是面向商业的通用语言,又称为企业管理语言、数据处理语言等,是最早的高级编程语言之一,是世界上第一个商用语言。前段时间网络上就 Java 是不是 COBOL 进行了一番热议,公说公有理,婆说婆有理。究竟孰对孰错?本文对此进行了一番分析。

  文章内容如下:

  如果你用 Google 搜索“Java is the new COBOL”你会发现有很多结果,对 Java 的误解进行反驳,我相信这一想法大多数是从 Ruby 社区提出的,Ruby 从开发人员的角度来分析,认为 Java 太依赖开发工具,不需要打开一个文本编辑器就可开始编程。另一方面,Java 有很多类型,它是一种静态类型的语言,使开发人员工作起来繁琐,这就是为什么 Java 开发者认为 IDE 是如此重要。

Java is the new COBOL?

  当不少 Java 开发者迁移到 Ruby 后,好像 Java 停滞了,不管是谁写了 Swing 应用程序都能提示你:匿名内部类使你的代码比原有的大5倍。所以,很多人认为 Java 是新的 COBOL,他们有这些共同点:

  1. Java 太冗长

  2. Java 呆滞

  3. 只有大型企业使用它

  原文作者详细分析了这些观点:

  冗长和呆滞

  在 Java 7 和 Java 8 中冗长呆滞已经得到解决,Java 7 解决了冗长的很多问题,而 Java 8 已经将语言推向了一个新的编程范式,面向函数编程。

  Java 8 是 Java 的一个转折点,这也表明显示 Oracle 非常重视语言向后兼容性的演绎性发展。

  Java 7 地址太冗长

  Java 平台首席架构师 Mark Reinhold 说:Java 7 是演进,Java 8 是革命。

  在 Coin 项目中 Java 7 借鉴了很多新特性,以下是一些新特性:

switch (lang) {
case "Java" :
out.println ("I like frameworks!");
break;
case "Ruby" :
out.println ("I like Pabst Blue Ribbon!");
break;
case "PHP" :
out.println ("I like WordPress!");
break;
}

  类型推断:

Map<String, List<String>> peopleByDept = new HashMap<String, List<String>>();

  变成:

Map<String, List<String>> peopleByDept = new HashMap<>();

  在 Inspired by Actual Events JavaOne 2011 keynote post 提到了很多 Java 7 新的简化方式。

  Java 8 推动语言进步

  Java 8 则是转向了新的语言,增加两个主要特性:

  1. Lambdas / Closures

  2. A proper module system(aka Jigsaw)

  原来我们用内部类实现类似闭包时,如下:

Component button = new Button ("Click me!");
button.onClick (new EventHandler () {
public onEvent (Event e) {
out.println ("I was clicked!");
}
}

  而 Lambdas 则可以表达成:

button.onClick (e => out.println ("I was clicked!"));

  企业使用 Java

  那么企业还在用 Java 吗?当然,Apple, Twitter, LinkedIn, SquareSpace 都在使用,还有很多公司直接的或者间接的通过 JRuby Jython Scala 或 Clojure 这些基于 JVM 的新语言来拓展 Java 的开源生态系统。

  综上所述,Java 没有停滞,正在越来越好,如果你说 Java 是新的 Cobol,就如同说 Ruby 是新的 Java 一样错误。

  英文出自:tataryn.net

0
1
来自: CSDN
博问,解决您的技术难题 分享到: 新浪微博 腾讯微博 搜狐微博
相关阅读:
· Java已死?九百万程序员说不(2012-05-21 08:52)
· Lady Java(2012-05-18 09:12)
· Java 7u4开始支持OSX(2012-05-10 20:03)
相关标签: Java
已经有 1 位园友对此新闻发表了看法。