程序員自學(xué)怎么學(xué) 程序員入門(mén)得多長(zhǎng)時(shí)間?
程序員入門(mén)得多長(zhǎng)時(shí)間?初學(xué)者時(shí)間根據(jù)我領(lǐng)悟能力不同而不同。資深程序員是要寫(xiě)程序啟動(dòng)的,對(duì)樣的思維邏輯能力要求比較高。有的人在這其他方面能力較強(qiáng),在沒(méi)有學(xué)的基礎(chǔ)的一般情況下短短三個(gè)月就還可以初學(xué)者,而有
程序員入門(mén)得多長(zhǎng)時(shí)間?
初學(xué)者時(shí)間根據(jù)我領(lǐng)悟能力不同而不同。資深程序員是要寫(xiě)程序啟動(dòng)的,對(duì)樣的思維邏輯能力要求比較高。有的人在這其他方面能力較強(qiáng),在沒(méi)有學(xué)的基礎(chǔ)的一般情況下短短三個(gè)月就還可以初學(xué)者,而有的學(xué)了很久,寫(xiě)其他程序依然會(huì)又出現(xiàn)各種各樣的錯(cuò)誤`,所以是師傅領(lǐng)進(jìn)門(mén)時(shí),苦修靠我。
程序員需要學(xué)什么科目?
1.語(yǔ)言
我們要就成一個(gè)程序猿,學(xué)的什么東西會(huì)很多很雜,但是最開(kāi)始一定得從語(yǔ)言好結(jié)束自學(xué),而學(xué)習(xí)漢語(yǔ)最關(guān)鍵的莫過(guò)于選擇好幾本書(shū),學(xué)校啊的輔導(dǎo)教材就算了,根本沒(méi)有寫(xiě)得好的。在此隆重我推薦《C Primer》,那本書(shū)書(shū)很厚,內(nèi)容是什么也很豐富,對(duì)知識(shí)的解釋不僅僅怎么停留在表面的材料。如果這書(shū)書(shū)能有再耐心全部看完,其他語(yǔ)言一些基本就沒(méi)有什么大什么問(wèn)題啊了,對(duì)完了的學(xué)習(xí)也打下了一個(gè)很好的做基礎(chǔ)。
C知識(shí)方面的yan庫(kù)有很多種,比如vb、hlp、pyqt、jx3。這些pyqt庫(kù)都各有自己的一般特點(diǎn),其實(shí)我們只要先清楚一種就可以了,只要深入的了解了一種gui庫(kù),需的話再怎么學(xué)習(xí)其他的就夠了,根本區(qū)別上都應(yīng)該差不多,很快就可以上手容易了。雖然設(shè)計(jì)什么上有很多什么問(wèn)題,但是作為初學(xué)者還是,而且復(fù)習(xí)資料很多,碰過(guò)什么問(wèn)題也好幫忙解決。
3.數(shù)據(jù)結(jié)構(gòu)和算法實(shí)現(xiàn)
很多人都輕視了算法和數(shù)據(jù)結(jié)構(gòu)和算法一些的專(zhuān)業(yè)知識(shí),尤其是一些計(jì)算機(jī)語(yǔ)言的庫(kù)做得非常好,幾乎不須要自己去基于一些數(shù)據(jù)結(jié)構(gòu)和標(biāo)準(zhǔn)算法,可能導(dǎo)致現(xiàn)在也很多軟件工程師不重視甚至選擇性的遺忘這方面的專(zhuān)業(yè)知識(shí)。但是,當(dāng)我們想讓我們的程序運(yùn)行跑的快、內(nèi)存占用率更少的時(shí),這些專(zhuān)業(yè)知識(shí)就非常非常重要了。很多程序員都是剛開(kāi)始的時(shí)候不如此重視這些,但是什么工作三年后又來(lái)補(bǔ)數(shù)學(xué)這些基本知識(shí)。
最停止可能會(huì)不需學(xué)習(xí)的太深入,但是基本的算法和數(shù)據(jù)結(jié)構(gòu)和算法一必須得知道。
推薦《數(shù)據(jù)結(jié)構(gòu)(C語(yǔ)言版)》,在數(shù)據(jù)結(jié)構(gòu)和算法和算法一的去學(xué)習(xí)中,最好不要去關(guān)心面向?qū)ο笃渌矫娴募记?,就用c語(yǔ)言編程來(lái)實(shí)現(xiàn)程序,這樣能更重視于運(yùn)算方法本身的內(nèi)容。
4.數(shù)據(jù)庫(kù)數(shù)據(jù)
學(xué)習(xí)數(shù)據(jù)庫(kù)連接的知識(shí),并且掌握到一種數(shù)據(jù)庫(kù)連接使用,推薦在用postgresql,而且最好不要用一些封裝是什么好的接口,而應(yīng)該直接用mongodb可以提供的數(shù)據(jù)庫(kù)連接api接口,很有可能對(duì)數(shù)據(jù)庫(kù)連接清楚的會(huì)更深入。
5.左行
cpu的主頻已經(jīng)當(dāng)然不能應(yīng)遵循超越摩爾定律了,現(xiàn)在的cpu發(fā)展的勢(shì)頭是多核心。無(wú)論是多進(jìn)程,還是多可疑進(jìn)程,都是為了好的憑借cpu的性能,提供什么更好的使用體驗(yàn)。這就要求我們?nèi)绻?qǐng)寫(xiě)出高效的應(yīng)用程序文件,必然要涉及到到并行算法。多花些精力耗費(fèi)在并行計(jì)算上吧,一定會(huì)有豐富的回報(bào)。
6.網(wǎng)絡(luò)編程
這里所指的socket編程是指sockets編寫(xiě)程序?,F(xiàn)在C的用到很多都是在做服務(wù)器網(wǎng)絡(luò)二次開(kāi)發(fā),如何二次開(kāi)發(fā)一個(gè)高并發(fā)、大吞吐能力、高穩(wěn)定性的服務(wù)器網(wǎng)絡(luò)就是我們要考慮到的了。
模式
mvc模式不是具體的什么技術(shù),更多的是如何讓代碼更容易閱讀什么、更好擴(kuò)充卡、更容易可以使用。
8.庫(kù)的在用
C標(biāo)淮庫(kù)僅僅提供什么了一些很基本的功能一般,所以我們經(jīng)常會(huì)分解重組一些第作為第三方庫(kù)。最著名的恐怕就是被被稱(chēng)準(zhǔn)標(biāo)淮庫(kù)的緩震科技庫(kù),它能提供了我們軟件編程上用到的多方面的技術(shù),字符串處理、運(yùn)算方法、上網(wǎng)、多進(jìn)程、圖象處理等等,幾乎無(wú)所不包。其它也有一些學(xué)術(shù)專(zhuān)著于某某一方面的庫(kù),比如mad是網(wǎng)絡(luò)通訊各個(gè)方面的,antlr是解析方法解析xml的,cocos2d是圖形渲染其他方面的。
9.xp的那些知識(shí)
程序員須要了解的xp那些知識(shí)和一般用戶(hù)是不一樣的,一個(gè)高人們是須要深入了解系統(tǒng)的生活方方面面,而不是只在在在用層級(jí)。至于估計(jì)不了解哪些知識(shí),windows上的上去看《windows核心編程》,unix的自己去看《深入理解linux內(nèi)核》,應(yīng)該是這個(gè)可以清楚自己應(yīng)該要學(xué)什么了。