• 招生咨詢熱線:4008-569-579 
  • 手機版
    用手機掃描二維碼直達商品手機版
招生咨詢熱線
4008-569-579
機構主頁 > 機構新聞 > Java使用率為什么這么高
機構主頁 > 機構新聞>Java使用率為什么這么高

Java使用率為什么這么高

來源:北京達內教育        時間:2023-05-25        熱度:40℃        返回列表

Java是不是一門簡單易學的、易上手的編程語言?

作為一個超過10年以上工作經驗的Java開發(fā)者,我覺得應該可以來回答一下。

首先說結論;Java絕對不是最容易學或者最容易上手的語言。

我們稍微觀察最近幾年開始大規(guī)模進入大家實現的幾門新興編程語言,包括Python,包括蘋果主推的Swift等等,它們在宣傳初期都不約而同的喜歡懟一下Java,并且理由出奇一致:

我們只需要一句話就能寫出hello

world,但是Java需要定義類,定義方法,在方法內寫輸出,然后創(chuàng)建類的對象,再調用方法,實現輸出。所以你看,我們這門語言多么簡潔和高效。

我想這也是很多新人不喜歡Java的原因。但是我們不妨深究一下Java為什么在最初的時候就被設計成這樣,順便也能回答題主的問題。

沒錯,Java最初的理念是脫胎于C++的。C++最大的成功之處是它是一門面向對象的語言。什么是面向對象?萬事萬物皆對象。用面向對象的思想能夠在最大程度上模擬真實的現實世界。如果我們把“人”看成一個“類”,那么你我他、小張小李、隔壁練腰的老王都是這個類的獨立“對象”。

身高膚色腿長就全都是這些“對象”的“屬性”,而吃飯睡覺工作等等行為就都是這些“對象”的“方法”——方法用來操控對象的屬性,從而使對象做出一定的行為。眾多對象的行為相互影響,就能做出更加驚天動地的事情——馬爸爸這個“人類”的“對象”,用“說話演講”這一方法,成功影響了十八羅漢們的“工作”這一方法,并提升了他們的“努力值”屬性,最終造就了現在的阿里帝國。

這就和我們玩升級打怪的游戲一樣,對吧。

而C++又是來源于C語言的。C語言沒有面向對象的概念,是一門純粹的“面向過程”的編程語言。我相信很多新手對“面向過程”這個概念都不甚了解。實際上在早期,編程的世界全部都是面向過程的,人們用程序語言直接去處理業(yè)務邏輯。

你說需要在寄存器里放進去一個變量?好吧,我先看一下寄存器是否還有空間,如果沒有的話,要看看哪些不再使用了,可以取出來,騰出空間,再把新變量放進去。這些操作在面向過程的編程思想中,每一次操作都可以只對應一條編程語句或是一小段簡單的邏輯塊。

如何把大象放進冰箱?打開冰箱門,把大象放進去,關上冰箱門——這就是面向過程的思維方式,更直接了當。

C語言是面向過程的語言,C++提出了面向對象的概念,但是仍然保留了面向過程的設計思想,而Java是純粹的面向對象語言,沒有面向過程的蹤影了,它封裝了它們,程序員不再那么容易看得到了。

這也是為什么C++和Java在面世之初,被人們稱為“高級編程語言”的原因之一。

而前面所提到的一些新興編程語言,它們所標榜的高效和簡潔,其實就是典型的面向過程的編程思想。這也是新手們更容易接受和喜聞樂見的東西——簡潔——別忘了推廣語言也是需要宣傳的,某些時候這真的只是宣傳口徑而已。

但是你會發(fā)現一個很有意思的地方,如果你去蘋果官方的Swift網站查看,會發(fā)現蘋果仍然將這門語言稱為面向對象的編程語言,事實上確實它也支持面向對象的編程方式——盡管你能在它的很多官方文檔里看到大量的面向過程的編程思想。

想想為什么這些語言一邊標榜自己比Java更簡潔,又要一邊說自己是面向對象語言呢,這不是左右互搏么。

其實是面向對象的方式雖然看起來冗長復雜,但是它更接近人類的自然思維模式,這一點如果不能深刻理解面向對象概念的話,是很難體會的。但是它確實在軟件領域能夠解決很多更大規(guī)模和復雜的事情——數一數有多少互聯(lián)網巨頭在發(fā)展之初都是使用更簡潔的編程語言,但最后發(fā)展到一定的規(guī)模后,都不約而同在底層基礎架構層面轉向了Java吧,他們應該沒有串通好或者被Java收買。

其實編程只是軟件工程工作過程中的一個環(huán)節(jié),而語言又只是編程的工具,沒有好壞之分,只有合適不合適。

新人出于本能選擇更簡單更容易上手的語言是很正常的,但是想要在這一行業(yè)內做出成績來是需要巨大的付出的,但這已經和語言無關了。

免責聲明:內容來源于網絡,若涉及侵權聯(lián)系盡快刪除!

電話咨詢

電話咨詢

咨詢電話:
4008-569-579
回到頂部

回到頂部