java入門編程 編程初學(xué)者應(yīng)該先學(xué)C 、Java還是Python?
編程初學(xué)者應(yīng)該先學(xué)C 、Java還是Python?在以前的一段時(shí)間里,我一直認(rèn)為引入C編程語言是一個(gè)很好的選擇。其實(shí)C語言更適合初學(xué)者學(xué)習(xí)。對(duì)于C語言學(xué)習(xí),我建議您查看郝斌的C語言課程。解釋得很詳細(xì)
編程初學(xué)者應(yīng)該先學(xué)C 、Java還是Python?
在以前的一段時(shí)間里,我一直認(rèn)為引入C編程語言是一個(gè)很好的選擇。其實(shí)C語言更適合初學(xué)者學(xué)習(xí)。
對(duì)于C語言學(xué)習(xí),我建議您查看郝斌的C語言課程。解釋得很詳細(xì)。我學(xué)習(xí)了這個(gè)教程。
如果您使用python,入門也是一個(gè)不錯(cuò)的選擇。
Java是迄今為止使用最多的語言。今天我覺得可以用java開始了。但是,要開始學(xué)習(xí),您必須只選擇學(xué)習(xí)面向?qū)ο笄懊娴闹R(shí)。如果初學(xué)者一起加入面向?qū)ο蟮膶W(xué)習(xí)。你會(huì)發(fā)現(xiàn)你可以崩潰。
只有完成面向?qū)ο蟮娜^程后,非常熟悉,才能進(jìn)行面向?qū)ο蟮膶W(xué)習(xí)。
如果您有任何問題,請指出。
22歲非計(jì)算機(jī)專業(yè)工科妹子裸辭轉(zhuǎn)行程序員,已自學(xué)Python兩個(gè)月準(zhǔn)備開始OJ,給自己一年時(shí)間可行嗎?
22當(dāng)然。受試者22歲,還很年輕,試錯(cuò)成本相對(duì)較低。此外,本課程具有工程背景和編程興趣,因此開始學(xué)習(xí)Python應(yīng)該不會(huì)太難。
我也是工科背景,非計(jì)算機(jī)專業(yè),研究生開始學(xué)習(xí)java和面向?qū)ο笙到y(tǒng),后來實(shí)習(xí)做后端開發(fā),畢業(yè)后從事C相關(guān)工作。
建議引進(jìn)后繼續(xù)努力學(xué)習(xí)。因?yàn)闆]有計(jì)算機(jī)專業(yè)背景,但想吃這碗飯,有些東西還是不行。
1. 算法和數(shù)據(jù)結(jié)構(gòu)
2。操作系統(tǒng)
3。計(jì)算機(jī)網(wǎng)絡(luò)
4。數(shù)據(jù)庫原理
5。微機(jī)原理
6。編譯原理
等等。你不必等到你完成了找工作的學(xué)習(xí)。你可以一邊練習(xí),一邊工作,一邊學(xué)習(xí)。
關(guān)于編程語言,不要拘泥于某一種編程語言,語言是相互聯(lián)系的。重點(diǎn)學(xué)習(xí)每種語言的數(shù)據(jù)類型、特征、其他分支判斷和循環(huán)。
學(xué)習(xí)OOP之后,您還可以學(xué)習(xí)函數(shù)式編程等。
中間可能有曲折,但只要有興趣,還是值得堅(jiān)持的。
祝你轉(zhuǎn)行順利。
把Java編程語言精通到底有多難?
作為一名程序員,我已經(jīng)出版了很多Java編程書籍,所以讓我來回答這個(gè)問題。
隨著互聯(lián)網(wǎng)的發(fā)展,Java語言自身的生態(tài)系統(tǒng)不斷完善,應(yīng)用邊界不斷擴(kuò)大。目前廣泛應(yīng)用于web開發(fā)、大數(shù)據(jù)開發(fā)、移動(dòng)終端開發(fā)等領(lǐng)域??梢哉f,不同的應(yīng)用方向也需要有不同的知識(shí)結(jié)構(gòu),因此很難掌握J(rèn)ava。
Java語言本身的組成分為兩部分,一部分是Java虛擬機(jī),另一部分是Java語言本身的語法。根據(jù)Java語法要求編寫的程序需要通過Java虛擬機(jī)進(jìn)行加載、驗(yàn)證、編譯和運(yùn)行,Java虛擬機(jī)的作用相當(dāng)于Java運(yùn)行環(huán)境(container)。它需要完成很多操作,包括代碼安全、垃圾處理、事件處理、資源管理等。因此,精通java開發(fā)一方面需要清晰的java語法,另一方面需要了解java虛擬機(jī)的運(yùn)行機(jī)制。
對(duì)于初學(xué)者來說,學(xué)習(xí)java編程從學(xué)習(xí)java語法開始,然后學(xué)習(xí)java web開發(fā)、數(shù)據(jù)庫開發(fā)、分布式開發(fā)等。這個(gè)過程通常是大多數(shù)學(xué)習(xí)者的學(xué)習(xí)路線。難點(diǎn)在于對(duì)java面向?qū)ο蟾拍畹睦斫?,即?duì)各種“抽象”的理解。這一部分雖然有一定的難度,但大多數(shù)學(xué)習(xí)者都是能夠?qū)W習(xí)的,差異往往在于學(xué)習(xí)時(shí)間上。
對(duì)于從事平臺(tái)開發(fā)的研發(fā)級(jí)程序員來說,還需要系統(tǒng)地學(xué)習(xí)Java虛擬機(jī)的內(nèi)部機(jī)制。通過深入了解Java虛擬機(jī)的組成,可以輔助平臺(tái)產(chǎn)品的研發(fā),注重性能的提高。通常,我們需要了解Java虛擬機(jī)的體系結(jié)構(gòu)和核心算法,這是比較困難的。當(dāng)然,如果您想了解Java虛擬機(jī)的整體結(jié)構(gòu),通常需要閱讀大量的源代碼。