當前位置:首頁 > 嵌入式 > 嵌入式軟件
[導讀]Java已死?九百萬程序員說不

Java沒死,事實上它擁有足夠的能量讓你的應用跑起來。那些對Java吹毛求疵人頻繁地聚焦在一些小眾問題上,總是和其他技術或者語言做些不公平的對比,這些語言并沒有像Java一樣得到廣泛應用及長遠的歷史。

現在的小孩都能學Java,它在Web和企業(yè)開發(fā)中廣泛被采用,特別是近些年更是有了些讓人驚訝的改善,一些新特性正在籌備中。即使拋開這些最新的特性,Java仍然很酷,應用的廣泛性、JVM平臺背后卓越的設計、清晰的語法、擁有豐富的工具和庫文件構成的生態(tài)系統。Oracle說有超過9,000,000 Java 開發(fā)者(億萬的應用和設備用戶),所以為什么我會聽到諸如“Java正在被淘汰中”,2007年開始,Java就已經淪為“21世紀的Cobol語言”的言論?

Java平臺是工程師的夢想

首先就是Java平臺的存在,HotSpot JVM 是一項非凡的設計,CLR(公共語言運行庫)有了大量的優(yōu)化,Java應用在性能上甚至可以與C相媲美,當然還有其他可選的虛擬機供可用(如:JRockit,Zing),應你的環(huán)境有特殊的需求而定。

再者,多種基于JVM的語言使得這個平臺更奇妙,如:Groovy,Jython,JavaFX,Scala,當然還不局限于以上流行的語言。Java現在包含有字節(jié)碼指令:invokedynamic和java.lang.invoke包,使得JVM構建動態(tài)語言更簡單,現在已經有超過50中基于JVM的語言。其中最有意思的一個是php.reboot,它的目標是保持php的哲學理念,但是移除了其中一些缺陷,而且它同樣能在Android中運行。

Java是一門成熟的語言,并不適合“老人”

Java成為被批評,抱怨,詛咒的靶子,我說這門語言還沒死,恰恰相反當有人抱怨Java的時候正是推廣Java時機。人們總會做些奇怪的對比,好像仍然以為Java還是停留在1.4的版本,用記事本編寫、需要EJB2的支持、只能用來寫寫簡單的留言板,然后把這些用來與一個高端框架甚至是CMS來對比。

作為Java程序員,這種對比對我來說沒有任何意義。更為明智的方法對比Java就得理智地選擇競爭對手,看看Java vs PHP、Python 或者Ruby,或者用框架Play 對比 Ruby on Rails,SpringMVC vs Zend Framework,有鑒于此,我覺得Java似乎根本就不適合老人。

Java 冗長嗎?當然

人們常說Java太啰嗦了,減緩了運行速度。批評者矛頭通常指向Java的強類型靜態(tài)語言特性,缺乏前沿技術在語言中,然而,我認為他們是經過深思熟慮的,而且這正是Java良好的特性。動態(tài)語言在啟動一個小項目時開始會覺得很受歡迎,但是可以考慮一下,在時髦框架及合適的工具(如:考慮用IDE代替記事本)下創(chuàng)建一個“Hello 留言板”類型的應用,Java很簡單,只是10分鐘的事情,如果你想做個試驗的話,使用Spring Roo 再準備一個秒表,如果有需要的話?,F在就可以開始繁瑣的CRUD了。

想象一下,你正為移動運營商搭建一個系統,運行客戶登陸網站,你不得不在后臺調用各種子系統收集大量的數據,Cool框架通常分解你的程序模塊而不需要匹配任何用戶模型。要更多的了解建議你看看Joel Spolsky發(fā)表的一篇文章。

Java是一門強類型靜態(tài)語言

強類型靜態(tài)語言有很多好處,我喜歡它簡單的視覺外觀,我可以粗略看一段代碼就知道是做什么的,它就像是可視化的用英語反饋,語言非常易讀,字母混合成單詞仍然可讀。其它的一些好處是有強大的IDE支持,動態(tài)語言在這點一直是弊端,大項目中有強大的IDE和工具支持是無價的。

批判者的觀點在Java在讀文件、轉換xml或迭代集合的時候缺乏表達力,但是你可以總是創(chuàng)建一個方法去處理這些常用的事例,或者是用FileUtils.readLines(),java語言上表達力的缺點有很多庫對其支持。在Java7中能看到一些優(yōu)雅的加強型功能,如自動關閉資源、siwtch語句支持String、數字類型支持下劃線(強烈建議讀Coin 項目)。Java8承諾了更多的東西(最有意思的應該是閉包)。Java是不是在任何方面都是那么的完美無缺呢?當然不是,這就是Java8、Java9在準備階段的原因。我個人也不喜歡那些不太優(yōu)雅的核心API.是否的確將更多的事情留給平臺而不是語言本身?java核心包括API進階設計跨度長達20年,API的更新會破壞向后兼容性,有些設計太抽象,但有些還不夠抽象,有些太零碎,有些根本不可思議??纯雌涓偁帉κ?NET,核心API做的很好,比如統一的通信API。Java8在Jigsaw項目的幫助下,會有所改變。

所以你值得擁有Java,正確地使用它,它是一門很棒的語言??氨菿lingon語言,它將繼續(xù)改善并不會很快消失。不應把努力放在取代Java上,而是和其他JVM語言結合使用,這是最明智的,但是對我的下一個Pet Clinic 還是堅持使用Java。
 

本站聲明: 本文章由作者或相關機構授權發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點,本站亦不保證或承諾內容真實性等。需要轉載請聯系該專欄作者,如若文章內容侵犯您的權益,請及時聯系本站刪除。
換一批
延伸閱讀

9月2日消息,不造車的華為或將催生出更大的獨角獸公司,隨著阿維塔和賽力斯的入局,華為引望愈發(fā)顯得引人矚目。

關鍵字: 阿維塔 塞力斯 華為

加利福尼亞州圣克拉拉縣2024年8月30日 /美通社/ -- 數字化轉型技術解決方案公司Trianz今天宣布,該公司與Amazon Web Services (AWS)簽訂了...

關鍵字: AWS AN BSP 數字化

倫敦2024年8月29日 /美通社/ -- 英國汽車技術公司SODA.Auto推出其旗艦產品SODA V,這是全球首款涵蓋汽車工程師從創(chuàng)意到認證的所有需求的工具,可用于創(chuàng)建軟件定義汽車。 SODA V工具的開發(fā)耗時1.5...

關鍵字: 汽車 人工智能 智能驅動 BSP

北京2024年8月28日 /美通社/ -- 越來越多用戶希望企業(yè)業(yè)務能7×24不間斷運行,同時企業(yè)卻面臨越來越多業(yè)務中斷的風險,如企業(yè)系統復雜性的增加,頻繁的功能更新和發(fā)布等。如何確保業(yè)務連續(xù)性,提升韌性,成...

關鍵字: 亞馬遜 解密 控制平面 BSP

8月30日消息,據媒體報道,騰訊和網易近期正在縮減他們對日本游戲市場的投資。

關鍵字: 騰訊 編碼器 CPU

8月28日消息,今天上午,2024中國國際大數據產業(yè)博覽會開幕式在貴陽舉行,華為董事、質量流程IT總裁陶景文發(fā)表了演講。

關鍵字: 華為 12nm EDA 半導體

8月28日消息,在2024中國國際大數據產業(yè)博覽會上,華為常務董事、華為云CEO張平安發(fā)表演講稱,數字世界的話語權最終是由生態(tài)的繁榮決定的。

關鍵字: 華為 12nm 手機 衛(wèi)星通信

要點: 有效應對環(huán)境變化,經營業(yè)績穩(wěn)中有升 落實提質增效舉措,毛利潤率延續(xù)升勢 戰(zhàn)略布局成效顯著,戰(zhàn)新業(yè)務引領增長 以科技創(chuàng)新為引領,提升企業(yè)核心競爭力 堅持高質量發(fā)展策略,塑強核心競爭優(yōu)勢...

關鍵字: 通信 BSP 電信運營商 數字經濟

北京2024年8月27日 /美通社/ -- 8月21日,由中央廣播電視總臺與中國電影電視技術學會聯合牽頭組建的NVI技術創(chuàng)新聯盟在BIRTV2024超高清全產業(yè)鏈發(fā)展研討會上宣布正式成立。 活動現場 NVI技術創(chuàng)新聯...

關鍵字: VI 傳輸協議 音頻 BSP

北京2024年8月27日 /美通社/ -- 在8月23日舉辦的2024年長三角生態(tài)綠色一體化發(fā)展示范區(qū)聯合招商會上,軟通動力信息技術(集團)股份有限公司(以下簡稱"軟通動力")與長三角投資(上海)有限...

關鍵字: BSP 信息技術
關閉
關閉