Java是新的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借鉴了很多新特性,以下是一些新特性:

 
 
 
  1. switch (lang) {  
  2. case "Java" :  
  3. out.println("I like frameworks!");  
  4. break;  
  5. case "Ruby" :  
  6. out.println("I like Pabst Blue Ribbon!");  
  7. break;  
  8. case "PHP" :  
  9. out.println("I like WordPress!");  
  10. break;  
  11. }  

类型推断:

 
 
 
  1. Map> peopleByDept = newHashMap>();  

变成:

 
 
 
  1. Map> peopleByDept = newHashMap<>(); 

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

Java 8推动语言进步

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

1.Lambdas / Closures

2.A proper module system(aka Jigsaw)

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

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

而Lambdas则可以表达成:

 
 
 
  1. 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一样错误。

原文:http://sd.csdn.net/a/20111109/307231.html

本文题目:Java是新的COBOL吗?
标题网址:http://www.shufengxianlan.com/qtweb/news9/423159.html

网站建设、网络推广公司-创新互联,是专注品牌与效果的网站制作,网络营销seo公司;服务项目有等

广告

声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 创新互联