Lambda將從根本上改變我們開發Java程式的方式

aqee發表於2012-10-22

  當今世界主流程式語言無不吸納強大的閉包概念,但有個例外,它就是Java。數年來,Java語言中增加閉包特徵的工作看起來毫無進展。

  早在15年之前,Scala語言和TypeSafe框架的作者Martin Odersky和Phillip Wadler釋出了實驗性的“Pizza”專案,由此,人們開始試圖將閉包納入程式語言的基本特徵之一。儘管這看起來有點過於複雜,Java社群大概在2008年就有了接納閉包概念的想法。但由於Oracle對Sun微系統公司的匆忙收購,Java被冷落,Java語言新版本的釋出不斷的被推遲。

  但在Java8中,事情有了很大的變化,Java語言終於為Java程式設計部隊配備了閉包的武器。“也許這是Java程式語言有史以來最重要的一次升級,”Oracle的Java語言架構師Brian Goetz說。他指出,在Java中引入閉包概念對Java程式開發方法的影響甚至會大於Java5中引入的泛型特徵對程式設計方式帶來的影響。“就像泛型能使開發人員對資料型別進行抽象,Lambda的目的是讓程式設計師能夠對程式行為進行抽象。”

  Lambda這個名稱來自於把閉包繫結到Java程式語言的Lambda專案。Lambda以及閉包的引入能做些什麼?你可以這樣想,它能夠讓程式設計師把一段程式程式碼當做資料一樣使用。一個方法可以像定義和使用一個變數那樣的方式被定義和使用,定義出的方法可以被當作引數傳遞到其它方法內,就像它們是一個物件例項或一個型別資料一樣。“看起來這好像也沒什麼,但實際上它影響巨大,”Goetz說。“這將從根本上改變我們開發java程式的方式。”

  我們等待了太久,但隨著Java8的釋出,Lambda終於成為Java規格說明書裡的正式特徵之一。一種由於過於複雜而最初被傳統程式設計師放棄的語法將最終成為一種每個現代Java應用程式裡都能看到的標準技術。

原文連結:Lambda in Java 8: A fundamental change in how Java programs are developed

相關文章