自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

Java 7路線圖更新 未包含閉包特性

開發(fā) 后端
在Devoxx大會上,Java SE首席工程師Mark Reinhol就Java 7的發(fā)展方向做了演講。本文中將提到Mark Reinhol演講中Java 7特性的重要變化,以及特性中閉包的遺漏對社區(qū)引起的反響。

在Devoxx大會上,Java SE首席工程師Mark Reinhol,做了一個關于Java 7(2010年初發(fā)布)最新發(fā)展方向的演講。雖然,Mark稱這次演講的內(nèi)容只是暫時的計劃、不具約束力,但是仍然在社區(qū)中引起了很多反響,特別是針對閉包特性(Closures)的遺漏。

Java 7特性的重要變化:

模塊化——294和Jigsaw項目

292——JVM對動態(tài)語言的支持

JSR 203——更多新的I/O API已基本完成,包括真正異步的I/O(不僅僅是非阻塞I/O)和一個真正的文件系統(tǒng)API。

JSR TBD:小的語言變化(見下)

安全重拋出——允許一個廣泛的catch語句,編譯器可以更加智能的基于try語句塊中拋出的異常管理重新拋出。(我以前沒有見過,不過看起來不錯)

Nulll解引用(dereference)表達式——Null通過'?'語法檢查,類似于Groovy...使開發(fā)人員避免一連串null檢查。

更好的類型推斷(type inference)——與泛型實例化有關,但目前還不清楚這種推斷會達到什么程度(我覺得越多越好)。

多捕捉(Multi-catch)——(是的?。┰试S在catch語句中用逗號分割一系列異常類型。

Joe Darcy正在領導Open JDK開發(fā),他的博客地址是http://blogs.sun.com/darcy

JSR 296——Swing應用框架——仍然需要更簡化以方便Swing應用開發(fā)。

6u10特性的向前兼容(Java Kernal、QUickstarter、新Plug-in等)。

Java 7中可能不會引入的特性:

閉包——圍繞提議沒有形成一致意見
具體化泛型(Reified generics)

第一類屬性(1st class properties)

操作符重載

BigDecimal語法

JSR 295——Bean綁定

Java.net開展了一次有關“哪些Java 7未采納的特性是你最感興趣的”的調(diào)查,其中閉包明顯處于其他特性之前:

閉包

47.4% (734 Votes)

具體化泛型

17.2% (266 Votes)

第一類屬性

10.4% (162 Votes)

操作符重載

4.3% (67 Votes)

BigDecimal語法 

3.4% (54 Votes)

JSR-295 Bean綁定

7.3% (113 Votes)

我對任何特性都不感興趣

9.7% (150 Votes)

以下是社區(qū)中的部分反應:

Ricky Clarkson:沒有閉包Java將滅亡

果然被證實了。雖然James Gosling想要閉包,雖然已經(jīng)有了3個閉包原型編譯器,雖然其他JVM語言支持閉包,Java 7還是沒有閉包。

Martin Kneissl:Java 7中沒有閉包是個壞消息

應該增加閉包而不是Java 5中的“for”循環(huán)新形式。在Java 6中就應該有閉包。現(xiàn)在似乎Java 7中也不會有了。

閉包并不難以理解。至少當你把它們與Java中的匿名內(nèi)部類作比較時是這樣的。有的人不贊同。他們覺得總有一些愚蠢的程序員,所以應該限制語言以防止他們引起太多破壞,我不認同這個理由。這是不可能的。不稱職的程序員在任何語言中都會搬起石頭砸自己的腳。

幸運的是,JVM上還有其他語言可以使用Java的優(yōu)點:庫、可移植性和工具(某種程度上)。

Dustin Marx則對閉包有一些矛盾的看法

就在我寫這篇帖子的時候,已經(jīng)有160票投完(不過很快就會出現(xiàn)新的投票),其中Java SE 7中最期待的落選特性是閉包。目前,閉包特性已經(jīng)得到了總票數(shù)的幾乎一半。從某種意義上說,這并不奇怪。閉包似乎主宰了Java SE 7的討論直到被宣布不會在Java SE 7中引入。但是討論是圍繞著閉包的概念和如何實現(xiàn)閉包進行的爭論。雖然閉包是Java SE 7最期待的落選特性之一,但是我個人對此非常矛盾。我有時會偶然的在工作中意識到閉包是多么有用,但是多數(shù)情況下沒有它我也可以應付。也就是說,我不介意它被引入,但是當我聽到?jīng)]有被包含在Java SE 7中時這并沒有困擾我。但是,如果我們相信目前的投票結(jié)果,那么接近一半的Java開發(fā)人員最想要這個特性。這與Java.net有關開發(fā)人員最想要Java SE 7引入閉包的問卷調(diào)查是一致的。

Osvaldo Doederlein對新特性感到興奮,不過仍然很期望閉包

Java 7是多年基礎設施智能化的最好版本:294/Jigsaw,并發(fā)類加載——我認為這會提高大應用程序的啟動時間,特別是類似于JavaEE服務器和IDE 等基于微內(nèi)核的應用,XRender——將最終使Java成為Linux桌面應用的一等公民,G1,全64位支持(將在6u12中首次亮相,獲取beta版),F(xiàn)orkJoin。

這么多的好特性,我?guī)缀醵伎焱耸ラ]包的悲傷了。我猜是時候轉(zhuǎn)移到Scala、JavaFX或者其他現(xiàn)代JVM語言上了(只要不是類似于Ruby 或者Python的動態(tài)類型語言)。我認為從現(xiàn)在開始五年,如果我編寫某種低層次的運行時,我會只寫“標準”Java代碼。多虧社區(qū)的保護,Java語言 正在慢慢轉(zhuǎn)為一種遺產(chǎn)和低層次的角色。

Matt Grommes關注于BigDecimal語法

我致力于一個金融系統(tǒng)有一年多時間了,BigDecimal語法簡直太痛苦了。我真的非常不滿意。

Devoxx和JavaEdge的與會者對JDK7語言的可能變化進行投票

絕對的勝者是——null處理。Null處理獲得了50張最優(yōu)先支持票,是排在第二位的字符串切換(string switch)特性票數(shù)的兩倍,幾乎是全部最優(yōu)先支持票數(shù)的三分之一。而且,幾乎有三分之二的與會者把它放在了前四位優(yōu)先支持的特性里。

其他受歡迎的特性包括字符串切換、異常的多捕捉、對Map的增強型for-each循環(huán)(能夠刪除或者查找索引)和ARM風格的資源管理。

不受歡迎的特性(特別認為是糟糕建議的)是通過[]訪問List/Map和字符串插值(字符串中的${variable} )。

泛型推斷和多行字符串處于相對較低優(yōu)先級但與會者不是特別反感。

值得一提的是,在Devoxx上對閉包特性的投票結(jié)果是50:50。

【編輯推薦】

  1. Java 7新特性展望 語言本身的改變會很少
  2. 2008十大優(yōu)秀Java應用程序
  3. 點評NetBeans 6.5的好與壞
責任編輯:楊鵬飛 來源: infoq
相關推薦

2012-12-19 15:47:56

Linux Mint

2009-04-24 15:20:07

微軟合作伙伴Windows 7渠道合作

2012-03-21 14:52:40

微軟Dynamics云計算

2021-10-14 17:36:13

Wi-FiWi-Fi 7

2010-12-31 10:05:22

Exchange

2011-10-08 10:15:32

Java SE8

2011-05-11 16:29:38

iOS

2010-08-24 09:32:41

Windows PhoWindows Pho

2011-08-04 10:34:48

ASP.NET MVC

2012-02-08 09:49:02

惠普webOS開源

2016-05-12 09:31:28

JavaScript發(fā)展路線圖

2011-03-08 10:10:48

BlackBerry

2013-01-09 09:44:42

AMDAPU路線圖

2010-12-31 13:22:36

2010-07-23 14:34:38

2013-01-16 17:34:32

Android開發(fā)路線圖

2024-06-26 09:00:00

2012-11-06 09:28:40

AMD壓路機打樁機

2012-03-16 09:34:57

Firefox路線圖
點贊
收藏

51CTO技術棧公眾號