Java是新的COBOL嗎?

發表於2011-11-10

導讀: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借鑑了很多新特性,以下是一些新特性:

型別推斷:

變成:

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

 

Java 8推動語言進步

Java 8則是轉向了新的語言,增加兩個主要特性:

1.Lambdas / Closures

2.A proper module system(aka Jigsaw)

原來我們用內部類實現類似閉包時,如下:

而Lambdas則可以表達成:

企業使用Java

那麼企業還在用Java嗎?當然,Apple, Twitter, LinkedIn, SquareSpace都在使用,還有很多公司直接的或者間接的通過JRuby Jython Scala或Clojure這些基於JVM的新語言來擴充Java的開源生態系統。

綜上所述,Java沒有停滯,正在越來越好,如果你說Java是新的Cobol,就如同說Ruby是新的Java一樣錯誤。

英文出自:tataryn.net

相關文章