java是什么 為什么感覺學(xué)校里普遍都教java,而不教Golang、Rust、Node.js這些?
為什么感覺學(xué)校里普遍都教java,而不教Golang、Rust、Node.js這些?用java教你程序設(shè)計和實現(xiàn),我們需要掌握編程思想,語言不是關(guān)鍵。把Java編程語言精通到底有多難?作為一名程序員,
為什么感覺學(xué)校里普遍都教java,而不教Golang、Rust、Node.js這些?
用java教你程序設(shè)計和實現(xiàn),我們需要掌握編程思想,語言不是關(guān)鍵。
把Java編程語言精通到底有多難?
作為一名程序員,我已經(jīng)出版了很多Java編程書籍,所以讓我來回答這個問題。
隨著互聯(lián)網(wǎng)的發(fā)展,Java語言自身的生態(tài)系統(tǒng)不斷完善,應(yīng)用邊界不斷擴大。目前廣泛應(yīng)用于web開發(fā)、大數(shù)據(jù)開發(fā)、移動終端開發(fā)等領(lǐng)域。可以說,不同的應(yīng)用方向也需要有不同的知識結(jié)構(gòu),因此很難掌握Java。
Java語言本身的組成分為兩部分,一部分是Java虛擬機,另一部分是Java語言本身的語法。根據(jù)Java語法要求編寫的程序需要通過Java虛擬機進行加載、驗證、編譯和運行,Java虛擬機的作用相當(dāng)于Java運行環(huán)境(container)。它需要完成很多操作,包括代碼安全、垃圾處理、事件處理、資源管理等。因此,精通java開發(fā)一方面需要清晰的java語法,另一方面需要了解java虛擬機的運行機制。
對于初學(xué)者來說,學(xué)習(xí)java編程從學(xué)習(xí)java語法開始,然后學(xué)習(xí)java web開發(fā)、數(shù)據(jù)庫開發(fā)、分布式開發(fā)等。這個過程通常是大多數(shù)學(xué)習(xí)者的學(xué)習(xí)路線。難點在于對java面向?qū)ο蟾拍畹睦斫猓磳Ω鞣N“抽象”的理解。這一部分雖然有一定的難度,但大多數(shù)學(xué)習(xí)者都是能夠?qū)W習(xí)的,差異往往在于學(xué)習(xí)時間上。
對于從事平臺開發(fā)的研發(fā)級程序員來說,還需要系統(tǒng)地學(xué)習(xí)Java虛擬機的內(nèi)部機制。通過深入了解Java虛擬機的組成,可以輔助平臺產(chǎn)品的研發(fā),注重性能的提高。通常,我們需要了解Java虛擬機的體系結(jié)構(gòu)和核心算法,這是比較困難的。當(dāng)然,如果您想了解Java虛擬機的整體結(jié)構(gòu),通常需要閱讀大量的源代碼。
為什么計算機專業(yè)都是先學(xué)c和java的?
從大學(xué)計算機專業(yè)的角度,我想解釋一下為什么會這樣安排。
1。C語言是數(shù)據(jù)結(jié)構(gòu)、操作系統(tǒng)等其他學(xué)科的基礎(chǔ)課程。如果你不懂C,學(xué)習(xí)這些課程是非常困難的,因為源代碼,特別是操作系統(tǒng),基本上是用C語言寫的。只有閱讀源代碼,我們才能把理論與實踐結(jié)合起來。同時,這些都是計算機專業(yè)的核心課程,因此我們必須學(xué)習(xí)它們。
2. C語言基本上是大多數(shù)現(xiàn)代高級語言的核心。Java的編譯器也是用C語言編寫的,流行的Python編譯器也是用C語言編寫的。學(xué)好C語言對于Java虛擬機的深層次原理是非常重要的。從發(fā)展歷史上看,C語言出現(xiàn)于20世紀(jì)70年代,Java語言出現(xiàn)于90年代,每一種新語言的誕生和流行都是解決了以往語言諸多問題的結(jié)果。它也幫助你理解為什么你需要學(xué)習(xí)Java,盡管我已經(jīng)學(xué)過C語言了。同時,它與我們學(xué)習(xí)“歷史”或其他科目的過程類似。大多數(shù)時候,我們從古代到現(xiàn)代學(xué)習(xí),以便使我們的知識體系結(jié)構(gòu)系統(tǒng)化。