Java不是新的Cobol

banq發表於2011-11-06
Java is not the new COBOL對很多Java誤解進行了反駁,特別是在google裡搜尋“Java is the new COBOL” 可以看到很多結果,作者認為這一提法大多數是從Ruby社群提出的,他們認為Java太依賴開發工具,不能開啟一個文字編輯器就能開始程式設計。當不少Java開發者遷移到Ruby後,好像Java停滯了,很多人認為Java是新的COBOL有下面這些共同點:

1.Java太細節了,太羅嗦了;
2.Java呆滯
3.只有大型企業使用它。

作者詳細分析了這些觀點:
在Java7和Java8中冗長呆滯已經得到解決,而Java8已經將語言推向了一個新的程式設計正規化,面向函式程式設計Functional Programming

Java8真正是Java的轉折點,顯示Oracle非常重視語言向後相容性的演繹性發展。

Java平臺首席架構師Mark Reinhold說:Java 7是演進;Java8是革命。

Inspired by Actual Events JavaOne 2011 keynote post提到了很多Java 7新的簡化方式,java 7很多是借鑑了Coin專案

而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嗎? Apple, Twitter, LinkedIn, SquareSpace 都是,還有大量透過JRuby Jython Scala或Clojure這些基於JVM的新語言來擴充Java的生態系統。

作者最後總結到:Java沒有停滯,正在越來越好,如果你說Java是新的Cobol,就如同說Ruby是新的Java一樣錯誤。

Ruby is beautiful (but I’m moving to Python) Ruby是美麗的,但是我已經轉向python





相關文章