為什麼很多程序員信仰“Java是世界上最好的編程語言”

看到這個標題,估計有不少PHPer要跳進來打我膝蓋,跪請各位Java程序員保我周全。

為什麼很多程序員信仰“Java是世界上最好的編程語言”

因為PHP是所有web開發中使用最多的語言,也被稱為最有生命力的語言,所以也就自然而言有了“PHP是世界上最好的語言”的這個梗。那麼為什麼很多程序員都信仰“Java是世界上最好的編程語言”呢?

首先從語言流行度來說,根據TIOBE 8月編程語言榜的數據來看,Java達到了16.8%,這就意味著每100名程序員裡,Java程序員就佔到了將近17%的比重。

可以說自1995年誕生以來,全世界程序員的目光都被這個神奇的語言所吸引。Java是一種簡單的,跨平臺的,面向對象的,分佈式的,解釋的,健壯的安全的,結構的,中立的,可移植的,性能很優異的,多線程的,動態的語言(形容詞貌似有點多(*/ω\*))。時至今日,Java依舊是在科學應用中最好選擇,包括自然語言處理。最主要的原因是因為Java比C++或者其他語言相對其安全性、便攜性、可維護性以及其他高級語言的併發性更好。同時Java是默認的軟件行業的應用程序開發語言,在金融服務行業的大量使用,投資銀行和電子商務應用空間也非常之大。

先來說說Java語言的優點,Java是一種很平衡的語言,在開發效率,執行效率,語言的更新和穩定,很平衡。大概包括以下7點(當然,除了這7點還有很多):

  1. Java是純面向對象編程的語言。平臺無關性 (一次編譯,到處運行;Write Once,Run Anywhere)。Java提供了許多內置的類庫,通過這些類庫,簡化了開發人員的設計工作,同時縮短了項目開發時間。提供了對Web應用開發的支持,例如,Applet,Servlet,和JSP可以用來開發Web應用程序,Socket,RMI可以用來開發分佈式應用程序的類庫。去除了c++中難以理解,容易混淆的特性(如c++中的多繼承,頭文件,指針,結構,單元,運算符重載,虛擬基礎類),使得程序更加嚴謹,整潔。具有較好的安全性和健壯性。Java語言經常會被用在網絡環境中,為了增強程序的安全性。Java可以構建很多種系統,當然有些它是明顯不合適的。譬如操作系統的內核,算法原型和一些小工具,但除此之外其他大部分Java都很適合。而且有大量成功案例。
為什麼很多程序員信仰“Java是世界上最好的編程語言”

當然不可否認,Java也存在一些問題和弊端,畢竟再完美的語言都會有人去詬病。所謂人紅是非多就是這個道理,Java因為流行所以受到的抨擊也最多。但是同樣,Java現在已經是too big too fail。即使有許多業界大佬因為Oracle的原因想幹掉Java,推出各種“優秀”的語言(如 Kotlin),但短期內,看不到Java有衰落的可能。呀,扯跑偏了,說說Java的小缺點:

  1. 需要運行環境、不適合開發桌面應用程序。JVM的垃圾回收啟動不可預測性,這些對一些關鍵業務有影響。但是,有一些商業的JVM可以解決這個,在量化交易領域有人用Java。與ASP一樣,Java的一些優勢正是它致命的問題所在。正是由於為了跨平臺的功能,為了極度的伸縮能力,所以極大的增加了產品的複雜性。Java的運行速度是用class常駐內存來完成的,所以它在一些情況下所使用的內存比起用戶數量來說確實是“最低性能價格比”了。從另一方面,它還需要硬盤空間來儲存一系列的。Java文件和class文件,以及對應的版本文件。

但是以上的這些語言缺陷,都不足以動搖程序員對“Java才是世界上最好的編程語言”的信仰。因為除了Java語言本身的綜合實力之外,Java對於使用者也是非常友好。

正如一些技術大牛所說:

Java本身有一套非常成熟的思想,也幫到了很多美好的思想落實。它的優秀不是讓你某個業務方向上比較方便,或者你可以少寫幾行代碼,而是讓你真正的慢慢去滲透其中的思想。其中的哲學,其中的大局觀。

或許這才是很多程序員偏愛Java的真正原因吧。

Java學習資料獲取方式:轉發文章+關注私信【Java】

為什麼很多程序員信仰“Java是世界上最好的編程語言”

"


分享到:


相關文章: