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

Java已死?九百萬程序員說不

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

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

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

Java平臺是工程師的夢想

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

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

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

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

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

[[74968]]

Java 冗長嗎?當(dāng)然

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

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

java

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

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

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

所以你值得擁有Java,正確地使用它,它是一門很棒的語言??氨?a rel="nofollow" target="_blank" onclick="javascript:_gaq.push(['_trackEvent','outbound-article','http://zh.wikipedia.org']);" >Klingon語言,它將繼續(xù)改善并不會很快消失。不應(yīng)把努力放在取代Java上,而是和其他JVM語言結(jié)合使用,這是最明智的,但是對我的下一個(gè)Pet Clinic 還是堅(jiān)持使用Java。

原文鏈接:http://blog.jobbole.com/19346/

責(zé)任編輯:林師授 來源: 伯樂在線
相關(guān)推薦

2013-04-18 09:55:05

程序員

2018-12-29 10:08:34

程序員年薪互聯(lián)網(wǎng)

2017-03-06 09:06:13

2020-08-27 16:43:23

程序員加班工作

2023-02-06 07:37:29

Java編程語言

2011-06-02 09:02:36

程序員

2012-02-20 10:12:09

Java

2019-01-22 08:34:00

程序員服務(wù)器項(xiàng)目

2015-11-16 13:32:51

2024-09-03 09:31:59

2023-07-07 08:15:18

JavaPython編寫

2014-06-05 15:14:50

CrossApp開源跨平臺開發(fā)引擎

2014-05-22 14:36:34

2011-01-07 10:18:28

RSSWeb

2013-07-10 10:30:12

程序員開發(fā)

2011-05-11 09:01:29

面向?qū)ο蠹夹g(shù)函數(shù)式語言

2012-11-08 09:49:30

C++Java程序員

2020-04-20 09:01:50

程序員創(chuàng)業(yè) 互聯(lián)網(wǎng)

2022-09-15 10:44:42

SidecarIstioeBPFizer

2013-08-20 09:33:59

程序員
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號