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

jopen 12年前發布 | 9K 次閱讀 Java

    當今世界主流編程語言無不吸納強大的閉包概念,但有個例外,它就是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 ]

來自: 外刊IT評論 http://www.aqee.net/

 本文由用戶 jopen 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
 轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
 本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!