打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
Java是新的COBOL吗?

代发广告

  英文原文: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 开发者迁移到 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

本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
【热】打开小程序,算一算2024你的财运
30种不同的编程语言怎么写“Hello, World”
Ruby高手点评Scala编程语言十大绝招
Python 之父退休,C 语言之父与世长辞,各大编程语言创始人现状大曝光!
历史上伟大的程序员,没有华人简直太可惜了!
十年后将要消失的五种编程语言
计算机编程的历史演进:用 50 种编程语言写“Hello,World!”程序
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服