隨著時代的發(fā)展,互聯(lián)網(wǎng)行業(yè)越來越普及,想加入這個行業(yè)的人也越來越多。Java的主要優(yōu)勢就體現(xiàn)的很明顯。
1
Java程序員有著相對較高的薪水
薪水是我們工作最原始的動力,所以放在第一位的來說在如今的中國,如果單看工資收入,Java工程師的薪資絕對是很靠前,很有競爭力的。職友集數(shù)據(jù)顯示:Java工程師平均月薪22.6K/月。
2
Java擁有世界上數(shù)量最多的程序員
你說他們是農(nóng)民也好,但數(shù)量放在那里,最明顯的效果就是公司招人的時候會比較容易地招到Java程序員。試想如果你想要做一套軟件,你有一個很棒的技術(shù)方案需要用C++,Scala或Ruby等語言實現(xiàn),但招不到足夠的人手,那么計劃多半泡湯。
這時候你的應用Java也能做到,并且很輕松就能招到足夠的人,那么你選擇Java的可能性就要大一些。
3
Java擁有大量的第三方類庫
假如你想解析HTML,用C/C++這類語言恐怕多半只能自己編寫解析算法庫了,而如果是Java,你可以非常輕松地在Github上找到JSoup,使用Maven導入依賴后分分鐘就搞定HTML。
為此還有一句諷刺Java的話是:“我們不生產(chǎn)代碼,我們只是Github的搬運工。”這句話從字面上看是很有道理的,但卻忽略了對軟件生產(chǎn)效率的提升所帶來的巨大價值。
對于軟件的開發(fā),公司的唯一成本其實就是“人頭費”,每減少一個月開發(fā)時間,就能幫助公司節(jié)省幾十萬幾千萬的研發(fā)成本。
4
Java擁有功能強大的IDE
Eclipse,通過插件幾乎可以滿足你開發(fā)的任何需求。它雖然有些慢,但你可以通過JVM調(diào)優(yōu)來提高程序的流暢度,千萬不要使用默認的JVM參數(shù)。
不過,IntelliJ Idea已經(jīng)完全超越Eclipse了,Idea的智能程度幾乎可以媲美Win平臺下的VS。我是那類離了Vim就活不下去的人,在這兩款I(lǐng)DE中都有Vim插件從而讓我愉快地存活下去。
5
Java擁有很多殺手級應用
不必多說,Spring, Struts, Hibernate, Hadoop, Tomcat, JBoss等等。
6
Java的語法特性很少
對,這也是一項優(yōu)點。C++相比C添加了大量特性,學起來費事不說,用起來還會降低代碼可讀性,其實是費了工夫不討好。當今世界對編程語言的要求是語法簡單,代碼可讀,對性能已經(jīng)是退而求其次了,因此才誕生了Python, Ruby這樣的編程語言。
有很多人批評Java語法寫起來很臃腫,我承認這一點,但事實是,編程語言從來都不是因為語法臃腫而被淘汰的,決定其生死的是生態(tài)系統(tǒng)。對于批評者,引用知乎的一句話:”動態(tài)類型一時爽,代碼重構(gòu)火葬場”。
7
Java的性能已經(jīng)足夠高了
Sun/Oracle的HotSpot JVM內(nèi)置的JIT編譯器在運行時對字節(jié)碼已經(jīng)做出了非常大的優(yōu)化努力,服務端應用啟動后對JVM進行足夠的”預熱”,并給出合理的啟動參數(shù)即可。如果不是對性能十分敏感的系統(tǒng)類應用,Java已經(jīng)足夠快了。有一種簡單可行的方法可以形象地看出這點,在JVM啟動參數(shù)中添加+XX:PrintCompilation可以看到JIT編譯器的忙碌。
當今世界對軟件的需求量越來越大,在性能可接受的情況下,開發(fā)效率才是第一位的,這也是Python這類動態(tài)腳本語言流行的主要原因。
以上僅做客觀分析,并不想引起語言戰(zhàn)爭。畢竟,沒有最好的語言,只有最適合某種項目的語言。引用黑格爾的一句話:”存在即合理。”
![]() |