Java 7是蜜糖還是毒藥?
原創(chuàng)【51CTO觀察】2011年7月28日,甲骨文沒有食言,如期發(fā)布了Java 7。盡管這一次不是完全發(fā)布,但跳票王Oracle還是沒有讓大家失望。全球的Java愛好者自然是下載并試用,忙的不亦樂乎。各大IT專業(yè)網(wǎng)站也都在自己最顯耀的頭條位置發(fā)布了這一新聞,輔以各種Java 7專題和文章,從新特性到研發(fā)歷史講了一個通透。
Java 7是毒藥?
但是大家的興奮勁還沒過三天,就有人爆料Java 7中BUG不少。有甚者宣稱,大家還是珍惜生命,遠離Java 7為妙。這Java 7究竟是蜜糖還是毒藥?
我們先離開Java 7,去看一位同樣從Sun歸到Oracle的朋友——MySQL。在Oracle鯨吞Sun不久,MySQL 5.5如期來到人們面前。大家的態(tài)度是怎樣的呢?
質疑,都在質疑。數(shù)據(jù)庫管理員們最看重的是安全性和穩(wěn)定性,但這次MySQL 5.5的發(fā)布讓他們的疑惑更重了。還沒有做好完全的安全測試,很多新功能就推出了,這讓很多人不敢嘗試,生怕因此丟了飯碗。
我們回到Java 7,在Uwe Schindler的文章中稱,Java 7的HotSpot Loop optimizations存在一些非??膳碌哪J啟用的bug。***的情況下,這些bug會導致JVM崩潰,最壞的情況下,會導致loops的不正確的執(zhí)行。而Schindler給出的唯一的解決方案就是,不用loops。
隨后有文章就對此進行了辟謠,聲明這種BUG出現(xiàn)的原因是某些特定的loops造成。優(yōu)化的選項BUG在Java 6中就有出現(xiàn),只不過Java 7中把這個選項作為默認啟動才會如此引人注目。事件似乎就到此為止了。但Java程序員從中隱約看到Java 7似乎存在成為毒藥的潛質,有朝一日會不會摧毀整個軟件開發(fā)項目?
Java 7是蜜糖
新事物的出現(xiàn),用戶確實需要以寬容的心情來對待。Java 7的進步還是顯而易見的。
在51CTO對此的調查中,有46%的Java 程序員表示會試用Java 7,有35%的程序員看好Java 7的前景。只有5%的Java程序員覺得Java 7與之前的版本差別不大。
從Java 7的新特性中,比如自動化資源管理(即ARM)能力,這個能力是Java 7特有的,目前使用Java 6的朋友在編譯時很多庫都需要重新編譯以適應Java 6的需要。其目的在于當遇到錯誤或是成功執(zhí)行完代碼塊后能夠輕松處理好外部資源。這樣的進步還是能在一定程度上解放Java程序員的生產力。
Java 7相關新特性請點擊這里閱讀。
更多的新特性還需要各位Java程序員去一點點嘗試。究竟何時能把Java 7部署到生產環(huán)境,樂觀估計會是幾個月的時間。
Java 7到底是蜜糖還是毒藥?
無比美妙的Java 7已經呈現(xiàn)在我們面前,更多人性化的功能似乎預示著Java程序員可以少加班多陪陪女朋友了。也還是有不少評論員擔心,這Java 7只是裹著蜜糖的毒藥。
期待不要更多的BUG,雖然現(xiàn)在發(fā)現(xiàn)的BUG還只是極端現(xiàn)象。但人們還是擔心Java 7是為了趕工期倉促推出,預期在Java 7***個update會更加穩(wěn)定一些。
新的編程習慣讓Java 程序員要費力適應。上面提到的ARM特性,就需要Java 6時代的程序員慢慢適應,并最終期待Java 8時會有完善的功能出現(xiàn)。
生產環(huán)境的大變化,盡管Java 7還沿襲了之前的道路。就像Java的對手.NET一樣,從Visual Studio 2008升級到Visual Studio 2010還是要經歷一個短暫的陣痛的。有用戶會因為各種類無法加載而頭疼。
新的語言支持將起到反作用,有Java程序員就表示Oracle需要在開發(fā)效率上下功夫,而不是無端給平臺增加負擔。讓對手更少的唱衰Java。
Java 7到底是毒藥還是蜜糖,您怎么看?
【編輯推薦】