軟件開(kāi)發(fā)世界沒(méi)有我們稱之為“編程英語(yǔ)”的通用語(yǔ)言。至少有六種流行語(yǔ)言在爭(zhēng)奪這個(gè)頭銜。但是我們相信Java是最接近的,原因如下。
Java對(duì)學(xué)生程序員和練習(xí)程序員有什么好處?
這是一種非常簡(jiǎn)單的語(yǔ)言
“簡(jiǎn)單編程語(yǔ)言”是什么意思?通常,這意味著兩件事。第一,對(duì)于對(duì)編程一竅不通的人來(lái)說(shuō),很容易學(xué)。第二,它能有效地解決各種任務(wù)。任何已經(jīng)嘗試過(guò)學(xué)習(xí)語(yǔ)言的人都會(huì)欣賞這一點(diǎn)。這兩個(gè)屬性都完全適用于Java。學(xué)習(xí)Java真的很容易。而且都是因?yàn)楸容^高級(jí)。這意味著你不必像處理低級(jí)語(yǔ)言那樣深入研究。例如,與C++不同,在Java中,垃圾收集(即殺死“占用內(nèi)存空間的未使用對(duì)象”)是在沒(méi)有你參與的情況下進(jìn)行的。但同時(shí),Java足夠低級(jí),可以處理大多數(shù)任務(wù)。讓我們澄清重要的一點(diǎn)。有些語(yǔ)言最初比Java更容易掌握。比如Python——得益于其簡(jiǎn)潔易懂的語(yǔ)法。而且還有Pascal/Delphi,是專門為教育打造的。事實(shí)上,它目前主要是在學(xué)校里研究,主要是由于慣性。這是一種邏輯結(jié)構(gòu)非常嚴(yán)密的語(yǔ)言。但是情況正在迅速改變。大多數(shù)現(xiàn)實(shí)世界的任務(wù)用Java比用Python更容易解決,更不用說(shuō)用Delphi了。
適用于各種場(chǎng)合的庫(kù)和框架
如果程序員面臨一些具有挑戰(zhàn)性的任務(wù),很可能已經(jīng)有一個(gè)Java庫(kù)可以幫助解決它。最重要的是不要懶惰。閱讀文檔或在Stack Overflow等熱門論壇上提問(wèn)。例如,學(xué)生可以通過(guò)一兩次實(shí)現(xiàn)自己的排序算法來(lái)了解它們的工作原理,從而受益匪淺。但在實(shí)際的開(kāi)發(fā)工作中,你不需要記住它們。你只需要知道Java已經(jīng)擁有的相關(guān)工具(特別是Collections.sort())。這只是一個(gè)例子。因?yàn)?/span>Java長(zhǎng)期以來(lái)一直被積極用于嚴(yán)肅的任務(wù),所以你可以找到適用于所有事情的Java庫(kù)和框架。
龐大的社區(qū)和高質(zhì)量的文檔
程序員經(jīng)常在工作中使用別人的代碼,而且不僅僅是初學(xué)者在最受歡迎的開(kāi)發(fā)者論壇上提問(wèn)。但是有很多Java專業(yè)人士幫助回答Stack Overflow上的問(wèn)題。因此,他們很可能會(huì)幫助你解決問(wèn)題。更重要的是,如果你有什么不明白的地方,你可能會(huì)在文檔中的某篇文章的幫助下弄明白——Java有非常好的文檔。
從技術(shù)和結(jié)構(gòu)的角度來(lái)看,Java哪里好
多平臺(tái)
“一次編寫,隨處運(yùn)行”是關(guān)于Java的。你不必重寫一個(gè)Java應(yīng)用程序來(lái)讓它在運(yùn)行不同操作系統(tǒng)的計(jì)算機(jī)上工作。你只需要為這些操作系統(tǒng)安裝虛擬機(jī)。當(dāng)然沒(méi)那么容易。顯然,你無(wú)法在一部老掉牙的手機(jī)上啟動(dòng)一個(gè)“沉重”的企業(yè)應(yīng)用程序。也就是說(shuō),老掉牙的手機(jī)將會(huì)有一個(gè)Java虛擬機(jī)。這種方法極大地簡(jiǎn)化了開(kāi)發(fā)。
面向?qū)ο缶幊?/span>
Java是一種面向?qū)ο蟮恼Z(yǔ)言,它的“面向?qū)ο蟆笔且宰詈玫姆绞綄?shí)現(xiàn)的?;旧?,在Java中一切都是對(duì)象。你將了解繼承、抽象、封裝和多態(tài)的最佳狀態(tài)。
多線程的出色實(shí)現(xiàn)
當(dāng)處理阻塞操作和圖形用戶界面時(shí),多線程是必不可少的。一般來(lái)說(shuō),如果信息可以并行處理,為什么不這樣做呢?Java提供了巨大的多線程能力,從簡(jiǎn)單的同步和停止/恢復(fù)線程的方法到專門的類。在實(shí)踐中,多線程是非常困難的,尤其是對(duì)于初學(xué)者。但是Java擁有使多線程盡可能方便所需的一切。
Java在不斷發(fā)展,但它向后兼容以前的版本
如果Java 9花了幾年時(shí)間來(lái)創(chuàng)建,那么版本10和11也不會(huì)太久。Java目前每半年更改一次版本號(hào),并且經(jīng)常會(huì)獲得新的有趣和有用的特性。但是最好的事情是,開(kāi)發(fā)人員不需要在每次發(fā)布新版本時(shí)都重新工作,因?yàn)?/span>Java保持了向后兼容性:所有以前的版本都與后面的版本兼容。當(dāng)然也有細(xì)微差別,但是和其他很多語(yǔ)言相比,都是微不足道的。
Java對(duì)我的職業(yè)生涯有什么好處?
Java無(wú)處不在。Java開(kāi)發(fā)人員發(fā)現(xiàn)更容易找到自己喜歡的職位,并且無(wú)需重新培訓(xùn)就可以換到另一個(gè)職位。該語(yǔ)言用于為金融服務(wù)、web應(yīng)用、嵌入式系統(tǒng)和大數(shù)據(jù)創(chuàng)建服務(wù)器應(yīng)用,以及用于編寫Android程序和科學(xué)應(yīng)用。。一個(gè)Java程序員幾乎可以在世界上任何一個(gè)國(guó)家找到工作,而且比局限于其他語(yǔ)言的開(kāi)發(fā)人員要容易得多。
待遇優(yōu)厚。企業(yè)會(huì)為優(yōu)秀的Java程序員支付高額薪水。